/* ── Extracted Style Block #1 ── */
/* ── Registered property: enables CSS engine to interpolate the gradient angle ── */
        @property --rc-grad-angle {
            syntax: '<angle>';
            inherits: false;
            initial-value: 135deg;
        }

        /* ── Report card gradient border entrance pulse ── */
        @keyframes gradPulse {
            0%   { opacity: 0; }
            30%  { opacity: 1; }
            60%  { opacity: 0.6; }
            100% { opacity: 0.5; }
        }

        :root {
            /* ── Base Colors ── */
            --bg-color: #030303;
            --bg-base: #030303;
            --text-main: #FFFFFF;
            --text-body: rgba(255, 255, 255, 0.85);
            --text-header: rgba(255, 255, 255, 0.5);
            --text-muted: rgba(255, 255, 255, 0.35);

            /* ── Holographic / Neon Palette ── */
            --ui-accent: hsl(180 100% 50%);
            /* Primary Cyan */
            --ui-accent-rgb: 0, 255, 255;
            --ui-accent-bright: hsl(180 100% 70%);
            /* Score/Highlight Cyan */
            --ui-accent-muted: hsl(180 80% 50%);
            /* Label/Border Cyan */
            --ui-secondary: hsl(280 100% 70%);
            /* Electric Violet */
            --ui-secondary-rgb: 191, 102, 255;
            --ui-secondary-muted: hsl(280 80% 65%);

            /* ── Semantic Score Colors (Triadic) ── */
            --score-1: hsl(0 100% 55%);
            /* Red — SHORT */
            --score-1-rgb: 255, 46, 46;
            --score-2: hsl(45 100% 50%);
            /* Amber — AVOID */
            --score-2-rgb: 255, 191, 0;
            --score-3: hsl(190 100% 50%);
            /* Teal — WATCHLIST */
            --score-3-rgb: 0, 234, 255;
            --score-4: #08d181;
            /* Green — BUY (= verdict-buy) */
            --score-4-rgb: 8, 209, 129;
            --score-5: #307eff;
            /* Blue — STRONG BUY (= verdict-strong) */
            --score-5-rgb: 48, 126, 255;

            /* ── Verdict Semantic Colors — mapped to score 1–5 scale ── */
            /* score-1 Red → SHORT, score-2 Amber → AVOID, score-3 Teal → WATCHLIST, score-4 Green → BUY, score-5 Blue → STRONG BUY */
            --verdict-short: var(--score-1);
            --verdict-short-rgb: var(--score-1-rgb);
            --verdict-avoid: var(--score-2);
            --verdict-avoid-rgb: var(--score-2-rgb);
            --verdict-watch: var(--score-3);
            --verdict-watch-rgb: var(--score-3-rgb);
            --verdict-buy: var(--score-4);
            --verdict-buy-rgb: var(--score-4-rgb);
            --verdict-strong: var(--score-5);
            --verdict-strong-rgb: var(--score-5-rgb);

            --green-profit: var(--verdict-buy);
            --green-profit-rgb: var(--verdict-buy-rgb);

            /* ── Score & Verdict Gradients ── */
            --grad-score-1: linear-gradient(135deg, hsl(0 100% 55%), hsl(320 100% 60%), hsl(0 100% 35%));
            --grad-score-2: linear-gradient(135deg, hsl(45 100% 50%), hsl(340 100% 60%), hsl(45 100% 30%));
            --grad-score-3: linear-gradient(135deg, hsl(190 100% 50%), hsl(260 100% 60%), hsl(190 100% 30%));
            --grad-score-4: linear-gradient(135deg, hsl(160 100% 50%), hsl(175 100% 55%), hsl(160 100% 30%));
            --grad-score-5: linear-gradient(135deg, hsl(220 100% 60%), hsl(200 100% 65%), hsl(220 100% 40%));
            --grad-verdict-short: var(--grad-score-1);
            --grad-verdict-avoid: var(--grad-score-2);
            --grad-verdict-watch: var(--grad-score-3);
            --grad-verdict-buy: var(--grad-score-4);
            --grad-verdict-strong: var(--grad-score-5);

            /* ── Gradients ── */
            --company-gradient: linear-gradient(135deg, hsl(240 100% 75%), hsl(180 100% 70%), hsl(240 100% 60%));

            /* ── Glassmorphic Tokens ── */
            --glass-bg: hsla(200, 40%, 8%, 0.6);
            --glass-bg-accent: hsla(260, 30%, 8%, 0.4);
            --glass-border: hsla(200, 80%, 50%, 0.12);
            --glass-border-bright: hsla(200, 100% 80%, 0.08);
            --card-radius: 24px;
            --card-shadow: 0 0 60px hsla(200, 100%, 50%, 0.06);

            /* ── Typography ── */
            --header-font: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            --body-font: "Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            --app-font: var(--body-font);
            --display-font: var(--header-font);

            /* ── Gradients ── */
            --header-gradient: linear-gradient(135deg, hsl(240 100% 75%), hsl(180 100% 70%), hsl(240 100% 60%));
            --shimmer-line: linear-gradient(90deg, transparent, hsla(200, 100%, 70%, 0.4), hsla(280, 100%, 70%, 0.3), transparent);

            /* ── Legacy Compat (Keep only what's used) ── */
            --noise-url: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
            --mono-font: 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
        }

        * {
            box-sizing: border-box;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Remove white outline from all iframes including GuruFocus widgets */
        iframe {
            border: none !important;
            outline: none !important;
        }

        h3,
        h4,
        h5 {
            color: var(--text-body, rgba(255, 255, 255, 0.85));
            -webkit-text-fill-color: var(--text-body, rgba(255, 255, 255, 0.85));
        }

        h3,
        h4,
        h5,
        .card-title-text {
            background: none !important;
            -webkit-background-clip: unset !important;
        }

        body {
            margin: 0;
            font-family: var(--app-font);
            background-color: var(--bg-color);
            color: var(--text-main);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            overflow-x: hidden;
            padding: 0 20px;
            padding-top: 64px;
            padding-bottom: 60px;
            min-height: 100vh;
            min-height: 100dvh;
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Front-page only: brutalist bg photo — disabled */
        body:not(.results-visible)::before {
            display: none;
        }

        .theme-picker {
            position: fixed;
            top: 24px;
            left: 24px;
            z-index: 100;
            display: none;
            flex-direction: column;
            gap: 8px;
        }

        @media only screen and (max-width: 900px) {
            .theme-picker {
                display: none;
            }

            .layout-grid {
                grid-template-columns: 1fr !important;
            }
        }

        .theme-picker label {
            font-size: 10px;
            text-transform: uppercase;
            color: var(--text-muted);
            font-weight: 600;
        }

        .theme-picker select {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid var(--glass-border);
            color: #fff;
            padding: 6px 12px;
            border-radius: 8px;
            font-size: 12px;
            outline: none;
            backdrop-filter: blur(10px);
        }

        #bg-canvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            z-index: 0;
            opacity: 1;
            pointer-events: none;
            transition: opacity 1.5s ease-out;
        }

        /* ── Ambient bottom horizon gradient overlay — disabled (gradient now rendered directly on canvas dots) ── */
        #bg-gradient-bottom {
            display: none !important;
        }

        body.results-visible #bg-canvas {
            opacity: 1;
        }

        body.analysis-loading #bg-canvas {
            opacity: 0 !important;
            pointer-events: none;
        }


        /* ── CSS grid background — disabled ── */
        body::after {
            display: none;
        }

        /* ── Fixed noise layer — gives backdrop-filter something to blur against ── */
        #bg-noise {
            position: fixed;
            inset: 0;
            z-index: 1;
            pointer-events: none;
            background: rgba(0, 0, 0, 0.01);
            /* near-zero fill keeps backdrop-filter active */
        }

        /* ── Tiled noise texture on the bg — must be separate so it tiles properly ── */
        #bg-noise::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 180px 180px;
            opacity: 0.12;
        }

        /* ═══════════════════════════════════════════════════════════
           BRUTALIST / PHYSICAL TEXTURE SYSTEM
        ═══════════════════════════════════════════════════════════ */

        /* ── Noise texture overlay on any element ── */
        .tex {
            position: relative;
        }

        .tex::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 200px 200px;
            border-radius: inherit;
            pointer-events: none;
            opacity: 0.5;
            z-index: 1;
        }

        /* ── Clay squishy component ── */
        .clay {
            border-radius: var(--clay-radius);
            background: rgba(22, 22, 28, 0.92);
            border: 1px solid var(--clay-highlight);
            box-shadow:
                0 1px 0 0 var(--clay-shadow-light) inset,
                0 -1px 0 0 rgba(0, 0, 0, 0.5) inset,
                0 8px 32px var(--clay-shadow-dark),
                0 2px 4px rgba(0, 0, 0, 0.6);
            transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.18s ease;
            will-change: transform;
        }

        .clay:hover {
            transform: translateY(-3px) scale(1.012);
            box-shadow:
                0 1px 0 0 var(--clay-shadow-light) inset,
                0 -1px 0 0 rgba(0, 0, 0, 0.5) inset,
                0 18px 48px rgba(0, 0, 0, 0.8),
                0 4px 8px rgba(0, 0, 0, 0.5);
        }

        .clay:active {
            transform: translateY(1px) scale(0.988);
            box-shadow:
                0 1px 0 0 var(--clay-shadow-light) inset,
                0 -1px 0 0 rgba(0, 0, 0, 0.5) inset,
                0 2px 12px rgba(0, 0, 0, 0.6);
        }

        /* ── Metallic sheen component ── */
        .metal {
            border-radius: 10px;
            background: linear-gradient(135deg,
                    rgba(80, 80, 90, 0.35) 0%,
                    rgba(30, 30, 38, 0.9) 40%,
                    rgba(55, 55, 65, 0.4) 100%);
            border: 1px solid rgba(255, 255, 255, 0.18);
            box-shadow:
                0 0 0 1px rgba(0, 0, 0, 0.6),
                inset 0 1px 0 rgba(255, 255, 255, 0.12),
                inset 0 -1px 0 rgba(0, 0, 0, 0.4),
                0 8px 24px rgba(0, 0, 0, 0.6);
            transition: filter 0.2s ease, transform 0.2s ease;
        }

        .metal:hover {
            filter: brightness(1.15);
            transform: translateY(-1px);
        }

        /* ── Front-page brutalist grid fragment overlay — disabled ── */
        #brut-grid-overlay,
        .fp-brut-grid {
            display: none !important;
        }

        /* ── Brutalist section label ── */
        .brut-label {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.22);
            border-left: 2px solid rgba(255, 255, 255, 0.18);
            padding-left: 8px;
            margin-bottom: 14px;
            font-family: "SF Mono", "Menlo", monospace;
        }

        /* ═══════════════════════════════════════════════════════
           FRONT PAGE BRUTALIST GRID DECORATION — disabled
        ═══════════════════════════════════════════════════════ */
        .fp-brut-line-h,
        .fp-brut-line-v,
        .fp-brut-accent,
        .fp-img-corner {
            display: none !important;
        }

        .fp-ticker-tape {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            height: 28px;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            overflow: hidden;
            z-index: 200;
            background: rgba(0, 0, 0, 0.92);
            display: flex;
            align-items: center;
        }

        body.results-visible .fp-ticker-tape {
            display: none;
        }

        .fp-ticker-inner {
            display: flex;
            gap: 48px;
            animation: ticker-scroll 32s linear infinite;
            white-space: nowrap;
            padding-left: 100%;
        }

        @keyframes ticker-scroll {
            from {
                transform: translateX(0);
            }

            to {
                transform: translateX(-100%);
            }
        }

        .fp-ticker-item {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.18);
            font-family: "SF Mono", "Menlo", monospace;
            flex-shrink: 0;
        }

        .fp-ticker-item span {
            color: rgba(255, 255, 255, 0.35);
            margin-left: 6px;
        }

        .grid-bg,
        .orb {
            display: none;
        }

        /* --- WRAPPERS --- */
        .main-container {
            position: relative;
            width: 100%;
            max-width: 960px;
            text-align: center;
            z-index: 10;
            animation: landing-fade-up 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) both;
        }

        @keyframes landing-fade-up {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        .xray-logo {
            display: block;
            margin: 0 auto;
            width: clamp(160px, 38vw, 200px);
            height: auto;
            filter:
                drop-shadow(0 0 18px rgba(var(--ui-accent-rgb), 0.35)) drop-shadow(0 0 6px rgba(var(--ui-accent-rgb), 0.2));
            transition: filter 0.6s ease;
        }

        .xray-logo:hover {
            filter:
                drop-shadow(0 0 28px rgba(var(--ui-accent-rgb), 0.55)) drop-shadow(0 0 10px rgba(var(--ui-accent-rgb), 0.3));
        }

        /* ══════════════════════════════════════════════════
           TOP NAV BAR  (replaces old topleft-corner cluster)
           ════════════════════════════════════════════════ */
        #top-nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 9000;
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            padding: 0 20px;
            height: 52px;
            background: rgba(3, 3, 3, 0.82);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        /* brand mark on the left */
        #top-nav-brand {
            display: flex;
            align-items: center;
            gap: 8px;
            cursor: pointer;
            flex-shrink: 0;
            text-decoration: none;
            justify-self: start;
        }

        #top-nav-brand .tnb-logo {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.18em;
            color: rgba(255, 255, 255, 0.75);
            font-family: "SF Mono", "Menlo", monospace;
            white-space: nowrap;
        }

        #top-nav-brand .tnb-logo span {
            color: var(--ui-accent, #B0B0B0);
        }

        /* links group — centre column */
        #top-nav-links {
            display: flex;
            align-items: center;
            gap: 3px;
            flex-wrap: nowrap;
            justify-self: center;
        }

        /* shared pill style for all nav items */
        .tnl-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 11px;
            border-radius: 99px;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.40);
            background: transparent;
            border: 1px solid transparent;
            cursor: pointer;
            text-decoration: none;
            transition: color 0.16s, background 0.16s, border-color 0.16s;
            font-family: inherit;
            white-space: nowrap;
            line-height: 1;
        }

        .tnl-btn svg {
            flex-shrink: 0;
        }

        .tnl-btn:hover {
            color: rgba(255, 255, 255, 0.80);
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.12);
        }

        /* 8-BIT button — teal accent */
        .tnl-btn--terminal {
            color: rgba(79, 200, 170, 0.65);
            border-color: rgba(79, 200, 170, 0.18);
            font-family: "SF Mono", "Menlo", monospace;
        }

        .tnl-btn--terminal:hover {
            color: rgba(79, 200, 170, 1);
            background: rgba(79, 200, 170, 0.08);
            border-color: rgba(79, 200, 170, 0.38);
        }

        /* Reports — primary CTA: filled accent background, like IR/presentation ext-link cards */
        .tnl-btn--reports {
            color: var(--score-3);
            border-color: rgba(var(--verdict-strong-rgb), 0.35);
            background: rgba(var(--verdict-strong-rgb), 0.05);
            box-shadow: 0 0 10px rgba(var(--verdict-strong-rgb), 0.32);
            font-weight: 800;
            transition: all 0.2s ease;
        }

        .tnl-btn--reports svg {
            stroke: #307eff;
            transition: stroke 0.2s;
        }

        .tnl-btn--reports:hover {
            color: #fff !important;
            border-color: rgba(var(--verdict-strong-rgb, 48, 126, 255), 0.65);
            background: rgba(var(--verdict-strong-rgb, 48, 126, 255), 0.12);
            box-shadow: 0 0 18px rgba(var(--verdict-strong-rgb, 48, 126, 255), 0.28);
            transform: translateY(-1px);
        }

        /* Portfolio — greyscale at rest, BUY green on hover */
        .tnl-btn--portfolio {
            color: rgba(255, 255, 255, 0.45);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            font-weight: 800;
            transition: all 0.2s ease;
        }

        .tnl-btn--portfolio svg {
            stroke: rgba(255, 255, 255, 0.45);
            transition: stroke 0.2s;
        }

        .tnl-btn--portfolio:hover {
            color: #fff !important;
            border-color: rgba(var(--verdict-buy-rgb), 0.65);
            background: rgba(var(--verdict-buy-rgb), 0.12);
            box-shadow: 0 0 18px rgba(var(--verdict-buy-rgb), 0.28);
            transform: translateY(-1px);
        }

        .tnl-btn--portfolio:hover svg {
            stroke: rgba(var(--verdict-buy-rgb), 1);
        }

        /* Stats — greyscale at rest, red on hover */
        .tnl-btn--stats {
            color: rgba(255, 255, 255, 0.45);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            font-weight: 800;
            transition: all 0.2s ease;
        }

        .tnl-btn--stats svg {
            stroke: rgba(255, 255, 255, 0.45);
            transition: stroke 0.2s;
        }

        .tnl-btn--stats:hover {
            color: #fff !important;
            border-color: rgba(255, 46, 46, 0.65);
            background: rgba(255, 46, 46, 0.12);
            box-shadow: 0 0 18px rgba(255, 46, 46, 0.28);
            transform: translateY(-1px);
        }

        .tnl-btn--stats:hover svg {
            stroke: hsl(0, 100%, 55%);
        }

        /* Favourites — greyscale at rest, amber on hover */
        .tnl-btn--favourites {
            color: rgba(255, 255, 255, 0.45);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            font-weight: 800;
            transition: all 0.2s ease;
        }

        .tnl-btn--favourites svg {
            stroke: rgba(255, 255, 255, 0.45);
            transition: stroke 0.2s;
        }

        .tnl-btn--favourites:hover {
            color: #fff !important;
            border-color: rgba(255, 191, 0, 0.65);
            background: rgba(255, 191, 0, 0.12);
            box-shadow: 0 0 18px rgba(255, 191, 0, 0.28);
            transform: translateY(-1px);
        }

        .tnl-btn--favourites:hover svg {
            stroke: hsl(45, 100%, 50%);
        }

        /* Universe — greyscale at rest, purple on hover */
        .tnl-btn--universe {
            color: rgba(255, 255, 255, 0.45);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            font-weight: 800;
            transition: all 0.2s ease;
        }

        .tnl-btn--universe svg {
            stroke: rgba(255, 255, 255, 0.45);
            transition: stroke 0.2s;
        }

        .tnl-btn--universe:hover {
            color: #fff !important;
            border-color: rgba(160, 90, 255, 0.65);
            background: rgba(160, 90, 255, 0.12);
            box-shadow: 0 0 18px rgba(160, 90, 255, 0.28);
            transform: translateY(-1px);
        }

        .tnl-btn--universe:hover svg {
            stroke: hsl(270, 80%, 65%);
        }

        /* Subscribe — accent highlight */
        .tnl-btn--accent {
            color: rgba(var(--ui-accent-rgb), 0.80);
            border-color: rgba(var(--ui-accent-rgb), 0.22);
        }

        .tnl-btn--accent:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            background: rgba(var(--ui-accent-rgb), 0.10);
            border-color: rgba(var(--ui-accent-rgb), 0.42);
        }

        /* Sign In / logout button */
        .tnl-btn--signin {
            color: rgba(255, 255, 255, 0.55);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
        }

        .tnl-btn--signin:hover {
            color: rgba(255, 255, 255, 0.90);
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.22);
        }

        .tnl-btn--signin.is-logout {
            color: rgba(var(--ui-accent-rgb), 0.70);
            border-color: rgba(var(--ui-accent-rgb), 0.22);
            background: rgba(var(--ui-accent-rgb), 0.04);
        }

        .tnl-btn--signin.is-logout:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            border-color: rgba(var(--ui-accent-rgb), 0.44);
            background: rgba(var(--ui-accent-rgb), 0.10);
        }

        /* Logged-in subscriber indicator — replaces sl-topbar-indicator */
        #tnl-subscriber {
            display: none;
            /* shown by JS when logged in */
            align-items: center;
            gap: 5px;
            padding: 4px 10px 4px 7px;
            border-radius: 99px;
            color: rgba(255, 255, 255, 0.75);
            background: rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.07);
            border: 1px solid rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.28);
            cursor: pointer;
            transition: background 0.16s, border-color 0.16s;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.06em;
            white-space: nowrap;
            text-transform: uppercase;
        }

        #tnl-subscriber:hover {
            background: rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.14);
            border-color: rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.50);
        }

        #tnl-subscriber .tnl-sub-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--tnl-plan-color, var(--ui-accent));
            box-shadow: 0 0 5px rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.8);
            flex-shrink: 0;
            animation: tnl-pulse 2.4s ease-in-out infinite;
        }

        @keyframes tnl-pulse {

            0%,
            100% {
                opacity: 1;
                box-shadow: 0 0 5px rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.8);
            }

            50% {
                opacity: 0.55;
                box-shadow: 0 0 9px rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.3);
            }
        }

        #tnl-subscriber .tnl-sub-email {
            max-width: 110px;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        #tnl-subscriber .tnl-sub-badge {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.1em;
            color: var(--tnl-plan-color, var(--ui-accent));
            background: rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.14);
            border: 1px solid rgba(var(--tnl-plan-rgb, var(--ui-accent-rgb)), 0.28);
            border-radius: 99px;
            padding: 1px 5px;
            flex-shrink: 0;
        }

        #tnl-subscriber .tnl-sub-manage {
            font-size: 9.5px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.55);
            text-transform: none;
            letter-spacing: 0;
            transition: color 0.15s;
        }

        #tnl-subscriber:hover .tnl-sub-manage {
            color: #ffffff;
        }

        /* Hide badge, email, and manage link on mobile — keep only the dot */
        @media (max-width: 700px) {
            #tnl-subscriber .tnl-sub-badge {
                display: none;
            }

            #tnl-subscriber .tnl-sub-email {
                display: none;
            }

            #tnl-subscriber .tnl-sub-manage {
                display: none;
            }
        }

        /* Divider between link groups */
        .tnl-divider {
            width: 1px;
            height: 16px;
            background: rgba(255, 255, 255, 0.10);
            margin: 0 3px;
            flex-shrink: 0;
        }

        /* ── Mobile: collapse to icon+label mode on small screens ── */
        @media (max-width: 700px) {
            #top-nav {
                padding: 0 max(10px, env(safe-area-inset-left, 0px)) 0 max(10px, env(safe-area-inset-right, 0px));
                height: calc(48px + env(safe-area-inset-top, 0px));
                padding-top: env(safe-area-inset-top, 0px);
            }

            .tnl-btn {
                font-size: 9.5px;
                padding: 4px 8px;
                min-height: 38px;
                gap: 3px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
            }

            .tnl-btn svg {
                display: none;
            }

            /* icons hidden, text only */
            .tnl-divider {
                display: none;
            }
        }

        @media (max-width: 480px) {
            #top-nav-brand .tnb-logo {
                font-size: 9px;
                letter-spacing: 0.12em;
            }

            .tnl-btn {
                font-size: 9px;
                padding: 4px 7px;
                min-height: 38px;
            }

            /* On very small screens keep only the most important items visible */
            .tnl-btn--hide-xs {
                display: none !important;
            }
        }

        /* Compensate body for fixed nav */
        body {
            padding-top: calc(68px + env(safe-area-inset-top, 0px)) !important;
        }

        /* ═══════════════════════════════════════════════════════════
           MOBILE RESULT-VIEW OVERHAUL
           All fixes for: padding, side-scroll, badge visibility,
           metrics size, card padding, and color accents.
           ═══════════════════════════════════════════════════════════ */
        @media (max-width: 700px) {

            /* ── 1. Kill horizontal padding on body, preserve top clearance for fixed nav ── */
            body,
            body.results-visible,
            body.analysis-loading {
                padding-left: 0 !important;
                padding-right: 0 !important;
                padding-top: calc(68px + env(safe-area-inset-top, 0px)) !important;
            }

            /* Keep setup-view (form) horizontally padded on mobile */
            #setup-view {
                padding-left: 14px;
                padding-right: 14px;
                box-sizing: border-box;
                width: 100%;
                max-width: 100%;
            }

            /* ── 2. Crush the #cards-container outer padding.
                   Extra top padding ensures the topnav logo clears the fixed nav. ── */
            #cards-container {
                padding: 16px 8px 12px !important;
                border-radius: 16px !important;
                box-sizing: border-box !important;
                width: 100% !important;
                max-width: 100% !important;
            }

            /* Loading state: ensure title clears the fixed nav & compact mobile padding */
            #loading-state {
                padding-top: 18px !important;
                padding-left: 12px !important;
                padding-right: 12px !important;
                padding-bottom: 36px !important;
                border-radius: 18px !important;
                max-width: 100% !important;
                width: 100% !important;
                box-sizing: border-box !important;
            }

            /* ── 3. Prevent any horizontal overflow / side scrolling ── */
            body {
                overflow-x: hidden;
            }

            html {
                overflow-x: hidden;
            }

            #results-view,
            .company-dashboard,
            .report-content-wrapper {
                max-width: 100% !important;
                width: 100% !important;
                overflow-x: hidden;
                box-sizing: border-box;
            }

            /* ── 4. Company dashboard: scroll-margin clears the fixed nav ── */
            .company-dashboard {
                scroll-margin-top: calc(56px + env(safe-area-inset-top, 0px));
            }

            /* Model badge + pills: full-width on mobile, move below title */
            .verdict-banner-container {
                align-items: flex-start !important;
                width: 100%;
            }

            /* ── 5. Metrics grid: compact but readable ── */
            .metrics-row {
                grid-template-columns: repeat(auto-fit, minmax(56px, 1fr)) !important;
                gap: 5px !important;
                margin-top: 14px !important;
                margin-bottom: 10px !important;
            }

            .metric-card {
                padding: 8px 4px !important;
                border-radius: 7px !important;
            }

            .metric-title {
                font-size: 10px !important;
                margin-bottom: 2px !important;
                letter-spacing: 0.05em !important;
            }

            .metric-value {
                font-size: 11px !important;
                letter-spacing: -0.01em !important;
            }

            .metric-unit {
                font-size: 7.5px !important;
            }

            /* ── 6. Section card padding + full overflow fix ── */
            /* Every element with a hardcoded base min-width gets crushed */
            .verdict-header-row,
            .engine-header-row {
                flex-wrap: wrap !important;
                gap: 8px !important;
            }

            .verdict-banner,
            .asymmetry-box,
            .engine-mix-box {
                padding: 12px 10px !important;
                min-width: 0 !important;
                width: 100% !important;
                flex: 1 1 100% !important;
                box-sizing: border-box !important;
            }

            .tradingview-chart {
                min-width: 0 !important;
                width: 100% !important;
                box-sizing: border-box !important;
            }

            .glass-cube {
                padding: 12px 10px;
                min-width: 0 !important;
                width: 100% !important;
                box-sizing: border-box !important;
            }

            .dim-trio-section {
                padding: 12px 8px 10px;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

            .dim-trio-card {
                padding: 10px 8px 8px;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

            .dim-trio-peer-card {
                padding: 12px 10px;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

            .superinvestor-section {
                padding: 12px 8px 10px;
                min-width: 0 !important;
                box-sizing: border-box !important;
            }

            /* ── Scores 2-col → 1-col on mobile ── */
            .layout-grid[style*="grid-template-columns: 1fr 1fr"] {
                grid-template-columns: 1fr !important;
            }

            /* Dashboard header: stack company title + badge vertically */
            .dashboard-header {
                flex-direction: column;
                gap: 10px;
            }

            /* Company title h2: smaller on mobile */
            .company-title h2 {
                font-size: 24px;
            }

            /* Section heading titles (40px "Business Snapshot", "Deep Analysis" etc)
               These spans live inside any div, not just .verdict-banner */
            span[style*="font-size:40px"],
            span[style*="font-size: 40px"] {
                font-size: 26px !important;
            }

            /* Dimension scores section: add breathing room at top */
            .dim-trio-section {
                margin-top: 14px !important;
            }

            /* result-topnav on mobile: keep brand visible, stack it above the action links */
            .result-topnav {
                padding: 4px 0 10px !important;
                margin-bottom: 36px !important;
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }

            .result-topnav-brand {
                display: flex !important;
            }

            .result-topnav-links {
                flex-wrap: wrap;
                gap: 6px;
            }

            .verdict-banner {
                border-left: 3px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.55);
            }

            .asymmetry-box {
                border-left: 3px solid rgba(232, 200, 74, 0.45);
            }

            /* Dim trio cards: give each icon box a teal tint */
            .dim-trio-icon-box {
                background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
                border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.22);
            }

            .dim-trio-icon-box svg {
                stroke: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.8);
            }

            /* Report section labels: teal underline color */
            .report-section-label {
                color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.65);
            }

            .report-section-label::after {
                background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.18);
            }

            /* Action bar: wrap properly */
            .action-bar {
                flex-wrap: wrap;
                gap: 6px;
            }

            /* Attribution tags: reduce size */
            .attribution-container {
                gap: 1px !important;
            }

            /* AI disclaimer: more compact */
            .report-ai-disclaimer {
                padding: 8px 10px;
                font-size: 9px;
            }

            /* result-topnav on mobile: ensure brand clears fixed nav,
               stack brand above action links so nothing gets hidden */
            .result-topnav {
                padding: 14px 0 10px;
                margin-bottom: 36px !important;
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }

            .result-topnav-links {
                flex-wrap: wrap;
                gap: 6px;
            }

            /* Sub-cards (AI RESILIENCY, etc): reduce horizontal padding ── */
            .verdict-grid-card,
            .engine-grid-card {
                padding: 12px 10px !important;
            }
        }

        @media (max-width: 480px) {

            body,
            body.results-visible,
            body.analysis-loading {
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            #cards-container {
                padding: 8px 4px !important;
                border-radius: 12px !important;
            }

            .company-title h2 {
                font-size: 20px;
            }

            .metrics-row {
                grid-template-columns: repeat(auto-fit, minmax(50px, 1fr)) !important;
                gap: 4px !important;
            }

            .metric-card {
                padding: 7px 3px !important;
                border-radius: 6px !important;
            }

            .metric-value {
                font-size: 10px !important;
            }

            .metric-title {
                font-size: 10px !important;
            }
        }

        /* ── Old topleft-corner: hidden, kept for JS compat ── */
        #topleft-corner {
            display: none !important;
        }

        #sl-topbar-indicator {
            display: none !important;
        }

        /* ── In-layout page-nav-bar: removed (replaced by top-nav) ── */
        .page-nav-bar {
            display: none !important;
        }

        /* ── Sign-in popup — positioned below Sign In button via JS ── */
        #tl-signin-popup {
            display: none;
            position: fixed;
            top: 60px;
            right: 14px;
            left: auto;
            z-index: 10000;
            width: 260px;
            background: rgba(8, 10, 14, 0.97);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 14px;
            padding: 16px 16px 14px;
            box-shadow: 0 8px 40px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.04);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            flex-direction: column;
            gap: 10px;
            opacity: 0;
            transform: translateY(-6px) scale(0.97);
            transition: opacity 0.18s ease, transform 0.18s ease;
        }

        #tl-signin-popup.open {
            opacity: 1;
            transform: translateY(0) scale(1);
        }

        #tl-signin-popup-title {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.13em;
            color: rgba(255, 255, 255, 0.45);
            text-transform: uppercase;
            margin-bottom: 2px;
        }

        @media (max-width: 400px) {
            #tl-signin-popup {
                right: 8px;
                left: 8px;
                width: auto;
            }
        }

        .tl-sp-input {
            width: 100%;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 7px;
            padding: 8px 10px;
            font-size: 12px;
            font-family: inherit;
            color: rgba(255, 255, 255, 0.85);
            outline: none;
            transition: border-color 0.15s;
            box-sizing: border-box;
        }

        .tl-sp-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            background: rgba(255, 255, 255, 0.07);
        }

        .tl-sp-input::placeholder {
            color: rgba(255, 255, 255, 0.25);
        }

        #tl-sp-error {
            font-size: 11px;
            color: #e07a5f;
            display: none;
            line-height: 1.4;
        }

        #tl-sp-error.visible {
            display: block;
        }

        #tl-sp-submit {
            width: 100%;
            padding: 8px 0;
            border-radius: 7px;
            border: none;
            background: rgba(var(--ui-accent-rgb), 0.75);
            color: rgba(255, 255, 255, 0.95);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.08em;
            cursor: pointer;
            font-family: inherit;
            transition: background 0.15s;
        }

        #tl-sp-submit:hover {
            background: rgba(var(--ui-accent-rgb), 1);
        }

        #tl-sp-submit:disabled {
            opacity: 0.5;
            cursor: default;
        }

        #tl-sp-close {
            position: absolute;
            top: 10px;
            right: 12px;
            font-size: 14px;
            color: rgba(255, 255, 255, 0.25);
            cursor: pointer;
            line-height: 1;
            padding: 2px 4px;
            transition: color 0.15s;
        }

        #tl-sp-close:hover {
            color: rgba(255, 255, 255, 0.65);
        }

        /* Mobile: full-width popup from left edge */
        @media (max-width: 400px) {
            #tl-signin-popup {
                left: 8px;
                right: 8px;
                width: auto;
            }
        }

        /* ── Register button ── */
        .tnl-btn--register {
            color: rgba(var(--ui-accent-rgb), 0.75);
            border-color: rgba(var(--ui-accent-rgb), 0.22);
            background: rgba(var(--ui-accent-rgb), 0.05);
        }

        .tnl-btn--register:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            background: rgba(var(--ui-accent-rgb), 0.12);
            border-color: rgba(var(--ui-accent-rgb), 0.42);
        }

        /* ── Register modal overlay ── */
        #tl-register-overlay {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 9999;
            background: rgba(0, 0, 0, 0.72);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        #tl-register-overlay.open {
            display: flex;
        }

        #tl-register-modal {
            width: 100%;
            max-width: 420px;
            background: rgba(14, 14, 15, 0.98);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 18px;
            padding: 28px 28px 24px;
            box-shadow: 0 24px 80px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.04);
            position: relative;
            animation: reg-in 0.22s ease;
        }

        @keyframes reg-in {
            from {
                opacity: 0;
                transform: translateY(10px) scale(0.97);
            }

            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        #tl-reg-close {
            position: absolute;
            top: 14px;
            right: 16px;
            font-size: 16px;
            color: rgba(255, 255, 255, 0.22);
            cursor: pointer;
            line-height: 1;
            padding: 3px 5px;
            border-radius: 5px;
            transition: color 0.15s;
        }

        #tl-reg-close:hover {
            color: rgba(255, 255, 255, 0.65);
        }

        .tl-reg-eyebrow {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.65);
            margin-bottom: 6px;
        }

        .tl-reg-title {
            font-size: 18px;
            font-weight: 900;
            letter-spacing: -0.025em;
            color: #fff;
            margin-bottom: 4px;
        }

        .tl-reg-subtitle {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.38);
            margin-bottom: 20px;
            line-height: 1.5;
        }

        /* Tier selector */
        .reg-tier-row {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 8px;
            margin-bottom: 18px;
        }

        .reg-tier-card {
            border-radius: 10px;
            padding: 10px 8px;
            text-align: center;
            cursor: pointer;
            border: 1px solid rgba(255, 255, 255, 0.07);
            background: rgba(255, 255, 255, 0.03);
            transition: all 0.15s;
            position: relative;
            overflow: hidden;
        }

        .reg-tier-card.selected {
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            background: rgba(var(--ui-accent-rgb), 0.08);
        }

        .reg-tier-card.disabled {
            opacity: 0.4;
            cursor: not-allowed;
        }

        .reg-tier-name {
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.5);
        }

        .reg-tier-card.selected .reg-tier-name {
            color: rgba(var(--ui-accent-rgb), 1);
        }

        .reg-tier-price {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.3);
            margin-top: 2px;
        }

        .reg-tier-soon {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 2px 0;
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.25);
            background: rgba(255, 255, 255, 0.04);
            text-align: center;
        }

        /* Inputs */
        .tl-reg-input {
            width: 100%;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 8px;
            padding: 9px 11px;
            font-size: 13px;
            font-family: inherit;
            color: rgba(255, 255, 255, 0.85);
            outline: none;
            transition: border-color 0.15s;
            box-sizing: border-box;
            margin-bottom: 9px;
        }

        .tl-reg-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            background: rgba(255, 255, 255, 0.07);
        }

        .tl-reg-input::placeholder {
            color: rgba(255, 255, 255, 0.22);
        }

        .tl-reg-input:last-of-type {
            margin-bottom: 0;
        }

        #tl-reg-error {
            font-size: 11px;
            color: #e07a5f;
            min-height: 15px;
            margin: 8px 0 4px;
            display: none;
        }

        #tl-reg-error.visible {
            display: block;
        }

        #tl-reg-success {
            font-size: 11px;
            color: rgba(var(--ui-accent-rgb), 1);
            min-height: 15px;
            margin: 8px 0 4px;
            display: none;
        }

        #tl-reg-success.visible {
            display: block;
        }

        #tl-reg-submit {
            width: 100%;
            margin-top: 10px;
            padding: 10px 0;
            border-radius: 9px;
            border: none;
            background: rgba(var(--ui-accent-rgb), 0.75);
            color: rgba(255, 255, 255, 0.95);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            font-family: inherit;
            transition: background 0.15s;
        }

        #tl-reg-submit:hover {
            background: rgba(var(--ui-accent-rgb), 1);
        }

        #tl-reg-submit:disabled {
            opacity: 0.45;
            cursor: default;
        }

        .tl-reg-footer {
            margin-top: 14px;
            text-align: center;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.28);
        }

        .tl-reg-footer a {
            color: rgba(var(--ui-accent-rgb), 0.7);
            text-decoration: none;
            cursor: pointer;
        }

        .tl-reg-footer a:hover {
            color: rgba(var(--ui-accent-rgb), 1);
        }

        /* ── Top-left logged-in indicator (legacy, kept for JS compat) ── */
        #sl-topbar-indicator {
            display: none !important;
            /* handled by #tnl-subscriber in top-nav */
        }

        /* ── CRT mode overlay ── */
        @keyframes fp-crt-flicker {

            0%,
            100% {
                opacity: 1;
            }

            48% {
                opacity: 1;
            }

            49% {
                opacity: 0.88;
            }

            50% {
                opacity: 1;
            }

            94% {
                opacity: 1;
            }

            95% {
                opacity: 0.93;
            }
        }

        #crt-scanlines {
            display: none;
            position: fixed;
            inset: 0;
            background: repeating-linear-gradient(0deg,
                    rgba(0, 0, 0, var(--crt-scanline-opacity, 0.04)) 0px,
                    rgba(0, 0, 0, var(--crt-scanline-opacity, 0.04)) 1px,
                    transparent 1px,
                    transparent var(--crt-line-pitch, 3px));
            pointer-events: none;
            z-index: 99990;
            animation: fp-crt-flicker var(--crt-flicker-speed, 8s) ease-in-out infinite;
        }

        #crt-glow {
            display: none;
            position: fixed;
            inset: 0;
            background: radial-gradient(ellipse at 50% 40%,
                    rgba(var(--crt-glow-rgb, var(--verdict-strong-rgb, 48, 126, 255)), var(--crt-glow-opacity, 0.13)) 0%,
                    transparent 65%);
            pointer-events: none;
            z-index: 99989;
        }

        body.crt-on #crt-scanlines,
        body.crt-on #crt-glow {
            display: block;
        }

        /* CRT toggle button */
        #btn-crt.crt-active {
            background: rgba(var(--ui-accent-rgb), 0.15);
            border-color: rgba(var(--ui-accent-rgb), 0.55) !important;
            color: var(--ui-accent) !important;
        }

        .brand-logo {
            font-size: 7px;
            font-weight: 700;
            letter-spacing: 0.28em;
            color: rgba(255, 255, 255, 0.35);
            margin-bottom: 8px;
            position: relative;
            text-transform: uppercase;
        }

        @keyframes brand-spark {

            0%,
            100% {
                opacity: 0.35;
            }

            50% {
                opacity: 0.55;
            }
        }

        .alpha-badge {
            font-size: 10px;
            font-family: "SF Mono", "Menlo", monospace;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.6);
            border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 5px 14px 5px 10px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.04);
            display: inline-flex;
            align-items: center;
            gap: 7px;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            margin-bottom: 4px;
            transition: border-color 0.3s, box-shadow 0.3s, color 0.3s;
        }

        .alpha-badge:hover {
            border-color: rgba(216, 188, 77, 0.4);
            box-shadow: 0 0 20px rgba(216, 188, 77, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.9);
            cursor: pointer;
        }

        /* 503 / API degradation banner */
        #api-unstable-banner {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            box-sizing: border-box;
            font-size: 11px;
            font-family: var(--mono-font, "SF Mono", "Menlo", monospace);
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: #D8BC4D;
            background: rgba(216, 188, 77, 0.08);
            border: 1px solid rgba(216, 188, 77, 0.28);
            border-radius: 10px;
            padding: 8px 16px;
            margin-bottom: 16px;
            box-shadow: 0 0 20px rgba(216, 188, 77, 0.08);
            animation: unstable-pulse 2.5s ease-in-out infinite;
        }

        .api-unstable-icon {
            font-style: normal;
            font-size: 13px;
        }

        @keyframes unstable-pulse {

            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0.7;
            }
        }

        .heartbeat {
            width: 7px;
            height: 7px;
            background: var(--score-2);
            border-radius: 50%;
            animation: pulse-glow 1.5s infinite;
            box-shadow: 0 0 8px rgba(224, 122, 95, 0.7);
            flex-shrink: 0;
        }

        @keyframes pulse-glow {

            0%,
            100% {
                opacity: 0.3;
                transform: scale(1);
            }

            50% {
                opacity: 1;
                transform: scale(1.5);
                box-shadow: 0 0 12px var(--apple-blue);
            }
        }

        .landing-aurora-title {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
            font-size: 35px;
            line-height: 1.06;
            font-weight: 900;
            letter-spacing: -0.032em;
            margin: 10px 0 2px 0;
            color: #d3dddd;
            -webkit-text-fill-color: #d3dddd;
            text-shadow:
                0 0 28px rgba(var(--ui-accent-rgb), 0.55),
                0 0 10px rgba(var(--ui-accent-rgb), 0.30),
                0 0 60px rgba(var(--ui-accent-rgb), 0.18);
            position: relative;
            text-align: center;
        }

        p.subtitle {
            font-family: 'DM Serif Display', Georgia, serif;
            font-size: clamp(15px, 2.2vw, 15px);
            font-weight: 300;
            color: rgba(240, 242, 242, 0.65);
            text-align: center;
            margin-bottom: 20px;
            letter-spacing: -0.01em;
            font-style: italic;
        }

        .subtitle-main,
        .subtitle-sub {
            display: inline;
        }

        /* ── Social Proof Strip ── */
        .social-proof-strip {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 20px;
            margin: 0 auto 15px;
            padding: 8px 16px;
            border-radius: 99px;
            background: rgba(var(--ui-accent-rgb), 0.04);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.12);
            width: fit-content;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        .proof-item {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 11px;
            font-weight: 600;
            color: var(--text-muted);
            letter-spacing: 0.02em;
        }

        .proof-val {
            color: var(--text-main);
            font-weight: 800;
            font-family: 'Inter', sans-serif;
            font-variant-numeric: tabular-nums;
        }

        .proof-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(var(--ui-accent-rgb), 0.25);
        }

        @keyframes aurora-drift {
            0% {
                transform: translate(-30%, -30%) rotate(0deg);
            }

            50% {
                transform: translate(-20%, -20%) rotate(180deg);
            }

            100% {
                transform: translate(-30%, -30%) rotate(360deg);
            }
        }

        .landing-aurora-bg {
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle at 50% 50%,
                    hsla(180, 100%, 50%, 0.08) 0%,
                    hsla(280, 100%, 70%, 0.05) 30%,
                    transparent 70%);
            z-index: -1;
            filter: blur(100px);
            pointer-events: none;
            animation: aurora-drift 30s linear infinite;
        }

        .page-aurora-title {
            font-family: var(--header-font);
            font-size: clamp(20px, 3.5vw, 28px);
            line-height: 1.1;
            font-weight: 800;
            letter-spacing: -0.03em;
            margin: 23px 0 50px 0;
            text-align: center;
            text-transform: uppercase;
            background: var(--header-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            filter: drop-shadow(0 0 24px hsla(180, 100%, 60%, 0.22));
        }

        .robo-img {
            height: 120px;
            width: auto;
            display: block;
            opacity: 0.58;
            filter:
                drop-shadow(0 0 22px rgba(var(--ui-accent-rgb), 0.30)) drop-shadow(0 0 8px rgba(var(--ui-accent-rgb), 0.18));
            transition: filter 0.6s ease;
        }

        @media only screen and (max-width: 734px) {
            h1 {
                font-size: 40px;
                line-height: 1.1;
                letter-spacing: 0em;
            }

            p.subtitle {
                font-size: 19px;
                line-height: 1.21053;
                letter-spacing: 0.012em;
            }

            .page-aurora-title {
                font-size: clamp(18px, 5vw, 26px);
                letter-spacing: -0.015em;
            }

            /* Make front-page banners compact on mobile so they don't block the input */
            .attribution-container {
                gap: 1px !important;
                margin-top: 8px !important;
                margin-bottom: 12px !important;
                max-width: 1000px !important;
            }

            .attribution-tag {
                font-size: 8px !important;
                padding: 2px 5px !important;
                gap: 3px !important;
            }

            .attribution-tag img {
                height: 9px !important;
            }
        }

        /* --- REVEAL ENGINE --- */
        #secondary-inputs {
            max-height: 8000px;
            overflow: visible;
            padding-top: 10px;
        }

        #secondary-inputs.revealed {
            max-height: 8000px;
            padding-top: 10px;
        }

        /* ── Settings Collapse Bar ── */
        #settings-collapse-bar {
            display: none; /* shown via JS for logged-in subscribers */
            justify-content: right;
            align-items: center;
            gap: 8px;
            padding: 10px 0 0;
            flex-wrap: wrap;
        }

        #settings-collapse-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 99px;
            color: rgba(255, 255, 255, 0.32);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 5px 12px 5px 9px;
            cursor: pointer;
            font-family: inherit;
            transition: border-color 0.2s, color 0.2s, background 0.2s;
        }

        #settings-collapse-btn:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.30);
            color: rgba(var(--ui-accent-rgb), 0.70);
            background: rgba(var(--ui-accent-rgb), 0.04);
        }

        #settings-collapse-btn svg {
            transition: transform 0.25s ease;
        }

        #settings-collapse-btn.collapsed svg {
            transform: rotate(180deg);
        }

        /* Settings summary pills (visible when collapsed) */
        .settings-summary {
            display: none;
            flex-wrap: wrap;
            justify-content: center;
            gap: 5px;
            padding: 2px 0 0;
        }

        .ss-pill {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 3px 9px;
            border-radius: 99px;
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            background: rgba(var(--ui-accent-rgb), 0.06);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.12);
            color: rgba(255, 255, 255, 0.45);
            white-space: nowrap;
            font-family: var(--mono-font, monospace);
        }

        .ss-pill:empty { display: none; }

        /* Collapsible inner wrapper */
        #settings-collapsible {
            max-height: 3000px;
            overflow: hidden;
            transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
            opacity: 1;
        }

        #settings-collapsible.collapsed {
            max-height: 0 !important;
            opacity: 0;
            pointer-events: none;
        }

        .form-section {
            background: rgba(255, 255, 255, 0.015);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 18px;
            padding: 22px 24px 18px;
            margin-bottom: 14px;
            backdrop-filter: blur(32px);
            -webkit-backdrop-filter: blur(32px);
        }

        /* --- INPUT FIELDS --- */
        .section-label {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: rgba(255, 255, 255, 0.58);
            margin-bottom: 10px;
            margin-top: 0;
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 700;
            text-align: left;
        }

        .section-label::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.07), transparent);
        }

        .form-section .section-label+.options-grid+.section-label,
        .form-section .mode-grid+.section-label {
            margin-top: 18px;
        }

        .text-input {
            width: 100%;
            padding: 14px 16px;
            font-size: 12px;
            background: rgba(10, 10, 10, 0.50);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 14px;
            color: rgba(255, 255, 255, 0.90);
            outline: none;
            text-align: left;
            margin-bottom: 10px;
            transition: 0.3s;
            backdrop-filter: blur(28px);
            -webkit-backdrop-filter: blur(28px);
            letter-spacing: 0.01em;
        }

        .text-input::placeholder {
            color: rgba(255, 255, 255, 0.30);
        }

        .text-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.65);
            box-shadow: 0 0 0 3px rgba(var(--ui-accent-rgb), 0.10);
            background: rgba(var(--ui-accent-rgb), 0.05);
        }

        .company-input-wrapper {
            background: rgba(12, 12, 12, 0.40);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.22);
            border-radius: 20px;
            padding: 12px 18px;
            min-height: 58px;
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            flex-wrap: wrap;
            gap: 1px;
            align-items: center;
            position: relative;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.18), 0 0 40px rgba(var(--ui-accent-rgb), 0.22), 0 0 80px rgba(var(--ui-accent-rgb), 0.10);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
        }

        @keyframes inputBreathingGlow {

            0%,
            100% {
                box-shadow: 0 0 0 1px rgba(var(--ui-accent-rgb), 0.18), 0 0 40px rgba(var(--ui-accent-rgb), 0.22), 0 0 80px rgba(var(--ui-accent-rgb), 0.10);
                border-color: rgba(var(--ui-accent-rgb), 0.22);
            }

            50% {
                box-shadow: 0 0 0 1px rgba(var(--ui-accent-rgb), 0.35), 0 0 55px rgba(var(--ui-accent-rgb), 0.38), 0 0 100px rgba(var(--ui-accent-rgb), 0.18);
                border-color: rgba(var(--ui-accent-rgb), 0.45);
            }
        }

        .company-input-wrapper::before {
            content: "";
            position: absolute;
            top: 0;
            left: -150%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
            pointer-events: none;
        }

        @keyframes glassSweep {
            0% {
                left: -150%;
            }

            30%,
            100% {
                left: 150%;
            }
        }

        .company-input-wrapper:focus-within {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(216, 188, 77, 0.55);
            box-shadow: 0 0 0 3px rgba(216, 188, 77, 0.12), 0 0 55px rgba(216, 188, 77, 0.28), 0 0 100px rgba(216, 188, 77, 0.12), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
            transform: none;
            animation: none;
        }

        .tag {
            background: rgba(var(--ui-accent-rgb), 0.10);
            color: rgba(255, 255, 255, 0.95);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.38);
            padding: 5px 8px 5px 14px;
            border-radius: 99px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            display: flex;
            align-items: center;
            gap: 5px;
            margin: 5px;
            line-height: 1.2;
            box-shadow: 0 0 10px rgba(var(--ui-accent-rgb), 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.07);
            font-family: var(--mono-font);
            transition: box-shadow 0.2s, border-color 0.2s;
            animation: chipIn 0.2s ease;
        }

        @keyframes spin {
            from {
                transform: rotate(0deg);
            }

            to {
                transform: rotate(360deg);
            }
        }

        @keyframes chipIn {
            from {
                opacity: 0;
                transform: scale(0.85);
            }

            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .tag:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.6);
            box-shadow: 0 0 16px rgba(var(--ui-accent-rgb), 0.2);
        }

        .tag .remove-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.55);
            font-size: 13px;
            cursor: pointer;
            flex-shrink: 0;
            transition: background 0.15s, color 0.15s;
            line-height: 1;
        }

        .tag .remove-chip:hover {
            background: rgba(255, 59, 48, 0.25);
            color: #ff3b30;
        }

        /* Multi-company counter hint */
        #multi-chip-hint {
            font-family: var(--mono-font);
            font-size: 9px;
            color: var(--text-muted);
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 4px 8px;
            opacity: 0.7;
        }

        #ticker-input {
            background: transparent;
            border: none;
            color: #fff;
            font-size: 17px;
            font-weight: 450;
            letter-spacing: -0.01em;
            outline: none;
            flex: 1;
            min-width: 200px;
            text-align: center;
            font-family: 'Inter', -apple-system, sans-serif;
        }

        #ticker-input::placeholder {
            color: rgba(255, 255, 255, 0.22);
            font-weight: 400;
            text-align: center;
        }

        /* ── Existing Reports Lookup panel (Institutional Command Palette) ── */
        #er-anchor {
            position: relative;
            z-index: 600;
        }

        #existing-reports-panel {
            display: none;
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            right: 0;
            border-radius: 14px;
            overflow: hidden;
            background: rgba(18, 20, 26, 0.96);
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 24px 64px rgba(0, 0, 0, 0.90), 0 0 0 1px rgba(255, 255, 255, 0.04), 0 0 40px rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(32px);
            -webkit-backdrop-filter: blur(32px);
            animation: erFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
            z-index: 1000;
        }

        @media (max-width: 640px) {
            #existing-reports-panel {
                top: 56px;
                left: 0;
                right: 0;
                border-radius: 12px;
            }
        }

        @keyframes erFadeIn {
            from {
                opacity: 0;
                transform: translateY(-6px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        #existing-reports-panel.visible {
            display: block;
        }

        .er-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 10px 16px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            background: rgba(255, 255, 255, 0.025);
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            transition: color 0.2s, background 0.2s;
        }

        .er-header-left {
            display: flex;
            align-items: center;
            gap: 8px;
            color: rgba(255, 255, 255, 0.60);
        }

        .er-header-left svg {
            color: var(--ui-accent);
            opacity: 0.85;
            flex-shrink: 0;
        }

        .er-header-badge {
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-size: 9px;
            font-weight: 700;
            padding: 2px 7px;
            border-radius: 99px;
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.60);
            border: 1px solid rgba(255, 255, 255, 0.08);
            letter-spacing: 0.05em;
        }

        .er-header.loading {
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.08);
            border-bottom-color: rgba(var(--ui-accent-rgb), 0.20);
        }

        .er-header.loading .er-header-left {
            color: var(--ui-accent);
        }

        .er-spinner {
            width: 14px;
            height: 14px;
            border: 2px solid rgba(var(--ui-accent-rgb), 0.25);
            border-top-color: var(--ui-accent);
            border-radius: 50%;
            animation: xrPlRingSpinXS 0.8s linear infinite;
            display: none;
            flex-shrink: 0;
        }

        .er-header.loading .er-spinner {
            display: block;
        }

        /* Loading skeleton rows */
        .er-skeleton-row {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 10px 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        }

        .er-skeleton-icon {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.05);
            flex-shrink: 0;
            animation: erPulse 1.2s ease-in-out infinite;
        }

        .er-skeleton-badge {
            width: 70px;
            height: 24px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.05);
            flex-shrink: 0;
            animation: erPulse 1.2s ease-in-out infinite;
        }

        .er-skeleton-line {
            height: 11px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.06);
            animation: erPulse 1.2s ease-in-out infinite;
        }

        .er-skeleton-short {
            width: 35%;
        }

        .er-skeleton-long {
            width: 65%;
        }

        @keyframes erPulse {
            0%, 100% { opacity: 0.4; }
            50% { opacity: 0.85; }
        }

        /* Results list */
        .er-list {
            padding: 4px 0 0;
            max-height: 380px;
            overflow-y: auto;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
        }

        .er-list::-webkit-scrollbar {
            width: 5px;
        }

        .er-list::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.15);
            border-radius: 4px;
        }

        @keyframes erSlideIn {
            from {
                opacity: 0;
                transform: translateY(-5px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Each result row */
        .er-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 10px 16px 10px 13px;
            min-height: 54px;
            cursor: pointer;
            transition: all 0.15s ease;
            text-decoration: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            border-left: 3px solid transparent;
            animation: erSlideIn 0.20s cubic-bezier(0.16, 1, 0.3, 1) both;
            position: relative;
        }

        @media (prefers-reduced-motion: reduce) {
            .er-item { animation: none; }
        }

        .er-item:last-child {
            border-bottom: none;
        }

        .er-item:hover {
            background: rgba(255, 255, 255, 0.045);
        }

        /* ── Highlighted Latest Report in Search ── */
        .er-item.is-latest {
            border-left-color: var(--ui-accent);
            background: linear-gradient(90deg, rgba(var(--ui-accent-rgb), 0.13) 0%, rgba(var(--ui-accent-rgb), 0.04) 55%, transparent 100%);
        }

        .er-item.is-latest:hover {
            background: linear-gradient(90deg, rgba(var(--ui-accent-rgb), 0.20) 0%, rgba(var(--ui-accent-rgb), 0.07) 55%, rgba(255, 255, 255, 0.02) 100%);
        }

        .er-item.is-latest .er-item-icon:not(.er-icon-score) {
            border-color: rgba(var(--ui-accent-rgb), 0.40);
            background: rgba(var(--ui-accent-rgb), 0.14);
            color: var(--ui-accent);
            box-shadow: 0 0 10px rgba(var(--ui-accent-rgb), 0.18);
        }

        .er-item-company-name {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .er-item.is-latest .er-item-company-name {
            color: #ffffff;
            font-weight: 700;
        }

        .er-item.is-latest .er-item-arrow {
            border-color: rgba(var(--ui-accent-rgb), 0.30);
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.06);
        }

        .er-item.is-latest:hover .er-item-arrow {
            background: rgba(var(--ui-accent-rgb), 0.25);
            border-color: rgba(var(--ui-accent-rgb), 0.55);
            color: #ffffff;
            box-shadow: 0 0 8px rgba(var(--ui-accent-rgb), 0.35);
        }

        /* Latest Report Badge */
        .er-latest-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 1.5px 6.5px;
            border-radius: 4px;
            background: rgba(var(--ui-accent-rgb), 0.20);
            color: #ffffff;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.50);
            box-shadow: 0 0 8px rgba(var(--ui-accent-rgb), 0.25);
            white-space: nowrap;
            line-height: 1.2;
            flex-shrink: 0;
        }

        .er-latest-pulse {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--ui-accent, #00eaff);
            box-shadow: 0 0 6px var(--ui-accent, #00eaff);
            animation: erPulseDot 1.8s ease-in-out infinite;
            flex-shrink: 0;
        }

        @keyframes erPulseDot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.3; transform: scale(0.75); }
        }

        /* Icon / Badge cell */
        .er-item-icon {
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.08);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 11px;
            font-weight: 800;
            font-family: var(--mono-font, 'SF Mono', monospace);
            letter-spacing: -0.02em;
            color: rgba(255, 255, 255, 0.70);
            transition: transform 0.15s ease, border-color 0.15s ease;
        }

        .er-item:hover .er-item-icon {
            transform: scale(1.04);
        }

        .er-item-icon.er-icon-score {
            border: 1px solid transparent;
        }

        .er-item-icon.er-icon-ticker {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.04em;
        }

        /* Body cell */
        .er-item-body {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .er-item-company {
            font-size: 13.5px;
            font-weight: 600;
            color: #f8fafc;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 1.3;
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .er-item-meta {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.40);
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: nowrap;
            overflow: hidden;
            line-height: 1.2;
        }

        .er-item-date {
            color: rgba(255, 255, 255, 0.55);
            font-weight: 500;
            white-space: nowrap;
        }

        .er-meta-dot {
            width: 3px;
            height: 3px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.25);
            flex-shrink: 0;
        }

        .er-item-model {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            color: rgba(255, 255, 255, 0.42);
        }

        .er-item-mode-pill {
            font-size: 8.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding: 1px 5px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.50);
            border: 1px solid rgba(255, 255, 255, 0.06);
            white-space: nowrap;
        }

        /* Right actions cell */
        .er-item-action {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-shrink: 0;
        }

        /* Institutional Verdict Badges */
        .er-item-verdict {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            padding: 4px 10px;
            border-radius: 6px;
            font-family: var(--mono-font, 'SF Mono', monospace);
            line-height: 1.2;
            white-space: nowrap;
            transition: all 0.15s ease;
        }

        .er-vdot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: currentColor;
            box-shadow: 0 0 6px currentColor;
            flex-shrink: 0;
        }

        /* Verdict colors - strictly matching institutional design system */
        .er-verdict-STRONG-BUY {
            background: rgba(48, 126, 255, 0.14) !important;
            color: #4da2ff !important;
            border: 1px solid rgba(48, 126, 255, 0.38) !important;
            box-shadow: 0 0 10px rgba(48, 126, 255, 0.12);
        }

        .er-verdict-BUY {
            background: rgba(8, 209, 129, 0.14) !important;
            color: #08d181 !important;
            border: 1px solid rgba(8, 209, 129, 0.38) !important;
            box-shadow: 0 0 10px rgba(8, 209, 129, 0.12);
        }

        .er-verdict-WATCHLIST,
        .er-verdict-HOLD,
        .er-verdict-NEUTRAL {
            background: rgba(0, 234, 255, 0.12) !important;
            color: #00eaff !important;
            border: 1px solid rgba(0, 234, 255, 0.32) !important;
            box-shadow: 0 0 10px rgba(0, 234, 255, 0.10);
        }

        .er-verdict-AVOID {
            background: rgba(255, 176, 32, 0.14) !important;
            color: #ffb020 !important;
            border: 1px solid rgba(255, 176, 32, 0.38) !important;
            box-shadow: 0 0 10px rgba(255, 176, 32, 0.12);
        }

        .er-verdict-SHORT {
            background: rgba(255, 59, 48, 0.14) !important;
            color: #ff453a !important;
            border: 1px solid rgba(255, 59, 48, 0.38) !important;
            box-shadow: 0 0 10px rgba(255, 59, 48, 0.12);
        }

        /* Score circles matching verdict colors */
        .er-icon-score.er-verdict-STRONG-BUY,
        .er-icon-ticker.er-verdict-STRONG-BUY {
            background: rgba(48, 126, 255, 0.12);
            color: #4da2ff;
            border-color: rgba(48, 126, 255, 0.30);
        }

        .er-icon-score.er-verdict-BUY,
        .er-icon-ticker.er-verdict-BUY {
            background: rgba(8, 209, 129, 0.12);
            color: #08d181;
            border-color: rgba(8, 209, 129, 0.30);
        }

        .er-icon-score.er-verdict-WATCHLIST,
        .er-icon-ticker.er-verdict-WATCHLIST,
        .er-icon-score.er-verdict-HOLD,
        .er-icon-ticker.er-verdict-HOLD,
        .er-icon-score.er-verdict-NEUTRAL,
        .er-icon-ticker.er-verdict-NEUTRAL {
            background: rgba(0, 234, 255, 0.10);
            color: #00eaff;
            border-color: rgba(0, 234, 255, 0.28);
        }

        .er-icon-score.er-verdict-AVOID,
        .er-icon-ticker.er-verdict-AVOID {
            background: rgba(255, 176, 32, 0.12);
            color: #ffb020;
            border-color: rgba(255, 176, 32, 0.30);
        }

        .er-icon-score.er-verdict-SHORT,
        .er-icon-ticker.er-verdict-SHORT {
            background: rgba(255, 59, 48, 0.12);
            color: #ff453a;
            border-color: rgba(255, 59, 48, 0.30);
        }

        /* Action Arrow button */
        .er-item-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 26px;
            height: 26px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.07);
            color: rgba(255, 255, 255, 0.35);
            transition: all 0.15s ease;
            flex-shrink: 0;
        }

        .er-item:hover .er-item-arrow {
            background: rgba(var(--ui-accent-rgb), 0.18);
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            color: #fff;
            transform: translateX(2px);
        }

        .er-empty {
            padding: 18px 16px;
            text-align: center;
            font-size: 12px;
            color: rgba(255, 255, 255, 0.35);
        }

        /* Footer: Deploy new swarm button */
        .er-new-report-row {
            padding: 10px 16px;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(0, 0, 0, 0.30);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .er-footer-left {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.40);
        }

        .er-new-report-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 7px 14px;
            border-radius: 8px;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.45);
            background: rgba(var(--ui-accent-rgb), 0.12);
            color: var(--ui-accent);
            font-size: 11.5px;
            font-weight: 600;
            letter-spacing: 0.02em;
            cursor: pointer;
            transition: all 0.15s ease;
            font-family: inherit;
        }

        .er-new-report-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.25);
            border-color: rgba(var(--ui-accent-rgb), 0.75);
            color: #fff;
            box-shadow: 0 0 12px rgba(var(--ui-accent-rgb), 0.25);
        }

        .er-new-report-btn svg {
            flex-shrink: 0;
        }


        /* ──────────────────────────────────────────────────
           DIMENSION / OUTPUT CHIP GRID  (premium 2026 style)
        ────────────────────────────────────────────────── */
        .options-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
            gap: 7px;
            margin-bottom: 4px;
            position: relative;
            z-index: 2;
        }

        .checkbox-card {
            /* Uniform card */
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.14);
            border-radius: 11px;
            padding: 9px 12px 9px 10px;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 9px;
            transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            overflow: visible;
            box-sizing: border-box;
            user-select: none;
            -webkit-user-select: none;
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
        }

        .checkbox-card input[type="checkbox"] {
            position: absolute;
            opacity: 0;
            width: 0;
            height: 0;
            margin: 0;
            pointer-events: none;
        }

        .checkbox-card:hover {
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.04) !important;
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25) !important;
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.1);
        }

        .checkbox-card.checked {
            background: rgba(var(--ui-accent-rgb), 0.01);
            border-color: rgba(var(--ui-accent-rgb), 0.05);
            box-shadow:
                0 0 0 1px rgba(var(--ui-accent-rgb), 0.07),
                0 4px 16px rgba(0, 0, 0, 0.25);
        }

        .checkbox-card.checked:hover {
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.13) !important;
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.6) !important;
            transform: translateY(-2px);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.2);
        }

        /* Icon container */
        .checkbox-card .icon-placeholder {
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, 0.25);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 7px;
            transition: all 0.2s ease;
            flex-shrink: 0;
        }

        .checkbox-card .icon-placeholder svg {
            width: 12px;
            height: 12px;
        }

        .checkbox-card.checked .icon-placeholder {
            color: rgba(var(--ui-accent-rgb), 0.9);
            background: rgba(var(--ui-accent-rgb), 0.10);
            border-color: rgba(var(--ui-accent-rgb), 0.22);
        }

        /* Disabled overlay */
        .checkbox-card.disabled {
            cursor: not-allowed;
            pointer-events: none;
            opacity: 0.48;
        }

        /* Text block */
        .checkbox-card-text {
            display: flex;
            flex-direction: column;
            gap: 0;
            flex: 1;
            min-width: 0;
        }

        .checkbox-card span {
            font-size: 11px;
            font-weight: 650;
            color: #d3dddd;
            transition: color 0.18s;
            text-align: left;
            letter-spacing: 0.005em;
            display: block;
            line-height: 1.25;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .checkbox-card.checked span {
            color: #d3dddd;
            font-weight: 700;
        }

        .checkbox-card:hover span {
            color: #d3dddd;
        }

        .checkbox-card.checked:hover span {
            color: rgba(var(--ui-accent-rgb), 1);
        }

        /* Subtitle — keep hidden */
        .dim-subtitle {
            display: none;
        }

        .checkbox-card.checked .dim-subtitle {
            display: none;
        }

        /* ── Dimensions info panel ──────────────────────────────────── */
        .dim-info-toggle {
            display: flex;
            align-items: center;
            gap: 5px;
            margin-top: 12px;
            padding: 0;
            background: none;
            border: none;
            cursor: pointer;
            font-size: 11.5px;
            font-weight: 650;
            color: rgba(255, 255, 255, 0.38);
            letter-spacing: 0.02em;
            transition: color 0.18s;
            width: 100%;
            text-align: left;
        }

        .dim-info-toggle:hover {
            color: rgba(255, 255, 255, 0.65);
        }

        .dim-info-toggle svg {
            flex-shrink: 0;
            transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .dim-info-toggle.open svg {
            transform: rotate(180deg);
        }

        .dim-info-toggle .toggle-line {
            flex: 1;
            height: 1px;
            background: rgba(255, 255, 255, 0.07);
            margin-left: 6px;
        }

        .dim-info-panel {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.38s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.28s ease;
            opacity: 0;
        }

        .dim-info-panel.open {
            max-height: 800px;
            opacity: 1;
        }

        .dim-info-inner {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 7px;
            padding-top: 12px;
        }

        .dim-info-row {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            background: rgba(255, 255, 255, 0.028);
            border: 1px solid rgba(255, 255, 255, 0.055);
            border-radius: 10px;
            padding: 9px 11px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .dim-info-row svg {
            flex-shrink: 0;
            margin-top: 1px;
            color: rgba(255, 255, 255, 0.35);
        }

        .dim-info-text {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .dim-info-name {
            font-size: 11px;
            font-weight: 750;
            color: rgba(255, 255, 255, 0.75);
            letter-spacing: 0.01em;
        }

        .dim-info-desc {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.4);
            line-height: 1.45;
        }

        @media (max-width: 520px) {
            .dim-info-inner {
                grid-template-columns: 1fr;
            }
        }

        /* Check circle — sits on the right */
        .checkbox-card .check-circle {
            order: 10;
            margin-left: 2px;
            flex-shrink: 0;
        }

        .check-circle {
            width: 16px;
            height: 16px;
            border-radius: 50%;
            border: 1.5px solid rgba(255, 255, 255, 0.14);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
            background: transparent;
            flex-shrink: 0;
        }

        .checkbox-card.checked .check-circle {
            background: rgba(var(--ui-accent-rgb), 0.18);
            border-color: rgba(var(--ui-accent-rgb), 0.7);
            box-shadow: 0 0 0 2px rgba(var(--ui-accent-rgb), 0.10);
            transform: scale(1.08);
        }

        .check-circle::after {
            content: '';
            width: 6px;
            height: 3px;
            border-left: 1.5px solid rgba(var(--ui-accent-rgb), 0.6);
            border-bottom: 1.5px solid rgba(var(--ui-accent-rgb), 0.6);
            transform: rotate(-45deg) scale(0);
            transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.05s;
            margin-top: -2px;
        }

        .checkbox-card.checked .check-circle::after {
            transform: rotate(-45deg) scale(1);
            border-left-color: rgba(var(--ui-accent-rgb), 1);
            border-bottom-color: rgba(var(--ui-accent-rgb), 1);
        }

        .dimension-help {
            display: none;
        }

        .dimension-tooltip {
            position: absolute;
            bottom: calc(100% + 8px);
            right: 0;
            left: 0;
            transform: none;
            padding: 10px 14px;
            border-radius: 12px;
            background: rgba(var(--ink-black-rgb), 0.97);
            color: rgba(255, 255, 255, 0.9);
            border: 1px solid rgba(255, 255, 255, 0.18);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s ease;
            z-index: 9999;
            font-size: 11px;
            line-height: 1.5;
        }

        .checkbox-card:hover .dimension-tooltip {
            opacity: 1;
        }

        /* --- DEPLOY BUTTON --- */
        .submit-btn {
            touch-action: manipulation;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            outline: none;
            font-family: var(--header-font);
            font-size: 12px;
            font-weight: 900;
            letter-spacing: 0.1em;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            box-sizing: border-box;
            border-radius: 12px;
            padding: 10px 20px;
            cursor: pointer;
            margin-top: 24px;
            text-transform: uppercase;
            position: relative;
            overflow: hidden;
            color: #000;
            border: none;
            /* Gradient fill — continuously animated */
            background: linear-gradient(135deg, hsl(240 100% 75%), hsl(180 100% 70%), hsl(240 100% 60%));
            background-size: 200% 200%;
            animation: gradient-drift 8s ease infinite;
            box-shadow:
                0 0 40px hsla(200, 100%, 60%, 0.20),
                0 4px 20px rgba(0, 0, 0, 0.3);
            transition:
                transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                animation-duration 0.3s ease;
        }

        @keyframes gradient-drift {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        .submit-btn:hover {
            transform: translateY(-2px) scale(1.01);
            animation-duration: 2s;
            box-shadow:
                0 0 70px hsla(200, 100%, 65%, 0.45),
                0 0 30px hsla(260, 100%, 70%, 0.25),
                0 8px 28px rgba(0, 0, 0, 0.35);
        }

        .submit-btn:active {
            transform: translateY(1px) scale(0.995);
            box-shadow:
                0 0 30px hsla(200, 100%, 60%, 0.30),
                0 3px 10px rgba(0, 0, 0, 0.25);
            transition: all 0.06s ease;
        }

        /* Persistent shimmer sweep */
        .submit-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 55%;
            height: 100%;
            background: linear-gradient(90deg,
                    transparent,
                    rgba(255, 255, 255, 0.30),
                    transparent);
            pointer-events: none;
            animation: cta-shimmer 3.5s ease-in-out infinite;
        }

        /* Hover: faster shimmer + radial glow pulse on ::after */
        .submit-btn::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 12px;
            background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.18) 0%, transparent 70%);
            opacity: 0;
            transition: opacity 0.3s ease;
            pointer-events: none;
        }

        .submit-btn:hover::after {
            opacity: 1;
        }

        .submit-btn:hover::before {
            animation-duration: 1.2s;
        }

        @keyframes cta-shimmer {
            0% {
                left: -100%;
            }

            55%,
            100% {
                left: 150%;
            }
        }

        @media (max-width: 480px) {
            .submit-btn {
                flex-direction: column;
                height: auto;
                padding: 10px 20px;
                font-size: 13px;
                gap: 6px;
                text-align: center;
            }

            .price-tag {
                margin-top: 4px;
                font-size: 11px;
                padding: 4px 8px;
            }
        }

        .price-tag {
            background: color-mix(in srgb, var(--ui-accent) 25%, #000);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.4);
            padding: 5px 12px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 800;
            color: color-mix(in srgb, var(--ui-accent) 50%, #fff);
            text-shadow: none;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            display: inline-flex;
            align-items: center;
            letter-spacing: 0.04em;
        }

        .price-tag.flash {
            animation: price-flash 0.7s ease;
        }

        .price-bulk-badge {
            display: inline-flex;
            align-items: center;
            margin-left: 6px;
            padding: 3px 8px;
            border-radius: 999px;
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            background: linear-gradient(135deg, rgba(255, 215, 0, 0.18), rgba(255, 165, 60, 0.12));
            border: 1px solid rgba(255, 200, 60, 0.5);
            color: rgba(255, 215, 0, 0.95);
            white-space: nowrap;
            vertical-align: middle;
        }

        @keyframes price-flash {
            0% {
                transform: scale(1);
                box-shadow: 0 0 0 rgba(var(--ui-accent-rgb), 0);
            }

            50% {
                transform: scale(1.08);
                box-shadow: 0 0 22px rgba(var(--ui-accent-rgb), 0.7);
                background: rgba(var(--ui-accent-rgb), 0.6);
            }

            100% {
                transform: scale(1);
                box-shadow: 0 0 0 rgba(var(--ui-accent-rgb), 0);
            }
        }

        .submit-btn.loading {
            background: linear-gradient(135deg,
                    hsl(240 100% 40%),
                    hsl(180 100% 35%),
                    hsl(240 100% 38%));
            color: transparent;
            text-shadow: none;
            pointer-events: none;
            position: relative;
            overflow: hidden;
            border: none;
        }

        .submit-btn.loading::before {
            animation: none;
        }

        .submit-btn.loading::after {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            height: 100%;
            width: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
            animation: sweep 2s infinite linear;
            opacity: 1;
        }

        @keyframes sweep {
            0% {
                transform: translateX(-100%);
            }

            100% {
                transform: translateX(100%);
            }
        }

        /* ── Subscriber login widget ──────────────────────────────────── */
        .subscriber-login {
            margin-bottom: 14px;
            border-radius: 16px;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.28);
            background: rgba(var(--ui-accent-rgb), 0.04);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            overflow: hidden;
            transition: border-color 0.2s, box-shadow 0.2s;
            box-shadow: 0 0 0 1px rgba(var(--ui-accent-rgb), 0.06), 0 2px 12px rgba(var(--ui-accent-rgb), 0.08);
        }

        .subscriber-login.logged-in {
            background: linear-gradient(135deg, rgba(48, 48, 48, .1), rgba(222, 222, 222, 0.05)) !important;
          border-color: rgb(95 95 95 / 15%) !important;
            box-shadow: 0 0 0 1px rgba(48, 126, 255, 0.12), 0 4px 16px rgba(48, 126, 255, 0.08);
        }

        /* Collapsed header row */
        .sl-header {
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 13px 16px;
            cursor: pointer;
            user-select: none;
            transition: background 0.15s;
        }

        .sl-header:hover {
            background: rgba(var(--ui-accent-rgb), 0.06);
        }

        .subscriber-login.logged-in .sl-header {
            cursor: default;
        }

        .subscriber-login.logged-in .sl-header:hover {
            background: none;
        }

        .sl-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(var(--ui-accent-rgb), 0.12);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.22);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: background 0.18s;
            color: var(--ui-accent);
        }

        .subscriber-login.logged-in .sl-icon {
            background: rgba(var(--ui-accent-rgb), 0.22);
            color: var(--ui-accent);
        }

        .sl-header-text {
            flex: 1;
            min-width: 0;
        }

        .sl-header-title {
            font-size: 13px;
            font-weight: 700;
            color: rgba(var(--ui-accent-rgb), 1);
            letter-spacing: 0.01em;
        }

        .subscriber-login.logged-in .sl-header-title {
            color: rgba(255, 255, 255, 0.85);
        }

        .sl-header-sub {
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.40);
            margin-top: 1px;
        }

        .sl-chevron {
            color: rgba(var(--ui-accent-rgb), 0.55);
            transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), color 0.18s;
            flex-shrink: 0;
        }

        .subscriber-login.open .sl-chevron {
            transform: rotate(180deg);
        }

        .subscriber-login.logged-in .sl-chevron {
            display: none;
        }

        .sl-plan-badge {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            padding: 2px 7px;
            border-radius: 999px;
            background: rgba(var(--ui-accent-rgb), 0.15);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.3);
            color: var(--ui-accent);
            flex-shrink: 0;
        }

        .sl-logout-btn {
            background: none;
            border: none;
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.28);
            cursor: pointer;
            padding: 2px 4px;
            border-radius: 5px;
            transition: color 0.15s;
            flex-shrink: 0;
        }

        .sl-logout-btn:hover {
            color: rgba(255, 255, 255, 0.6);
        }

        /* Expandable form body */
        .sl-body {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .subscriber-login.open .sl-body {
            max-height: 320px;
        }

        .sl-form {
            padding: 0 16px 14px;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .sl-input {
            width: 100%;
            box-sizing: border-box;
            background: rgba(255, 255, 255, 0.01);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            padding: 9px 12px;
            font-size: 13px;
            color: #fff;
            outline: none;
            font-family: inherit;
            transition: border-color 0.18s, background 0.18s;
        }

        .sl-input::placeholder {
            color: rgba(255, 255, 255, 0.25);
        }

        .sl-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.55);
            background: rgba(255, 255, 255, 0.07);
        }

        .sl-submit-btn {
            width: 100%;
            padding: 9px;
            border-radius: 10px;
            border: none;
            background: rgba(var(--ui-accent-rgb), 0.18);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.3);
            color: var(--ui-accent);
            font-size: 12px;
            font-weight: 750;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.18s, color 0.18s;
            font-family: inherit;
        }

        .sl-submit-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.28);
            color: #fff;
        }

        .sl-submit-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .sl-error {
            font-size: 11px;
            color: #ff6b6b;
            text-align: center;
            display: none;
            padding: 2px 0;
        }

        .sl-error.visible {
            display: block;
        }

        .sl-divider {
            width: 100%;
            height: 1px;
            background: rgba(255, 255, 255, 0.06);
            margin: 2px 0 6px;
        }

        /* Forgot password link */
        .sl-forgot-link {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.3);
            text-align: right;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
            font-family: inherit;
            transition: color 0.15s;
            text-decoration: underline;
            text-underline-offset: 2px;
            align-self: flex-end;
        }

        .sl-forgot-link:hover {
            color: var(--ui-accent);
        }

        .sl-login-secondary-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
        }

        .sl-register-link {
            font-size: 11px;
            color: rgba(var(--ui-accent-rgb), 0.55);
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
            font-family: inherit;
            transition: color 0.15s;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

        .sl-register-link:hover {
            color: rgba(var(--ui-accent-rgb), 0.9);
        }


        .sl-forgot-view {
            display: none;
            flex-direction: column;
            gap: 8px;
        }

        .sl-forgot-view.visible {
            display: flex;
        }

        .sl-login-view {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .sl-login-view.hidden {
            display: none;
        }

        .sl-back-link {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.3);
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
            font-family: inherit;
            text-align: left;
            transition: color 0.15s;
        }

        .sl-back-link:hover {
            color: var(--ui-accent);
        }

        .sl-forgot-success {
            font-size: 12px;
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.08);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.25);
            border-radius: 8px;
            padding: 9px 12px;
            display: none;
            text-align: center;
        }

        .sl-forgot-success.visible {
            display: block;
        }

        /* Hide the key field when subscriber is logged in */
        .subscriber-logged-in .key-section {
            display: none;
        }

        /* ── Experimental mode disclaimer ─────────────────────────────── */
        .experimental-disclaimer {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            margin-top: 12px;
            padding: 11px 15px;
            background: rgba(216, 188, 77, 0.08);
            border: 1px solid rgba(216, 188, 77, 0.28);
            border-radius: 12px;
            font-size: 12px;
            line-height: 1.55;
            color: rgba(216, 188, 77, 0.82);
        }

        .experimental-disclaimer strong {
            color: rgba(216, 188, 77, 0.95);
            font-weight: 600;
        }

        .experimental-disclaimer svg {
            color: rgba(216, 188, 77, 0.7);
        }

        /* ── Pricing nudge (Legacy: hidden, superseded by Unified Commercial Bar) ── */
        .pricing-nudge {
            display: none !important;
            padding: 0 !important;
            border: none !important;
            margin: 0 !important;
            height: 0 !important;
            min-height: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
        }

        .pricing-nudge-option {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 3px;
            flex: 1;
            min-width: 0;
        }

        .pricing-nudge-label {
            font-size: 10.5px;
            font-weight: 750;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.45);
        }

        .pricing-nudge-detail {
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.28);
            font-weight: 500;
        }

        .pricing-nudge-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 11.5px;
            font-weight: 650;
            color: #307eff;
            text-decoration: none;
            transition: color 0.18s, gap 0.18s;
        }

        .pricing-nudge-link:hover {
            color: rgba(48, 126, 255, 0.75);
            gap: 6px;
        }

        .pricing-nudge-link svg {
            flex-shrink: 0;
            transition: transform 0.18s;
        }

        .pricing-nudge-link:hover svg {
            transform: translateX(2px);
        }

        .pricing-nudge-divider {
            display: flex;
            align-items: center;
            padding: 0 16px;
            flex-shrink: 0;
        }

        .pricing-nudge-or {
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.18);
            padding: 3px 0;
            position: relative;
        }

        .pricing-nudge-or::before,
        .pricing-nudge-or::after {
            content: '';
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            width: 1px;
            height: 12px;
            background: rgba(255, 255, 255, 0.1);
        }

        .pricing-nudge-or::before {
            bottom: 100%;
            margin-bottom: 3px;
        }

        .pricing-nudge-or::after {
            top: 100%;
            margin-top: 3px;
        }

        @media (max-width: 420px) {
            .pricing-nudge {
                flex-direction: column;
                gap: 10px;
                padding: 12px 14px;
            }

            .pricing-nudge-divider {
                padding: 0;
            }

            .pricing-nudge-or::before,
            .pricing-nudge-or::after {
                display: none;
            }
        }

        /* --- SUMMARY & LOGS --- */
        .summary-container {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            padding: 16px 20px;
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.78) 0%, rgba(8, 8, 10, 0.90) 100%);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            box-shadow: 0 10px 32px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            text-align: left;
            transition: all 0.3s ease;
        }

        .summary-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 14px;
            align-items: stretch;
        }

        .summary-item {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 10px;
            padding: 8px 12px;
            box-sizing: border-box;
            flex: 1 1 auto;
            min-width: 140px;
            transition: border-color 0.2s ease, background 0.2s ease;
        }

        .summary-item:hover {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(255, 255, 255, 0.1);
        }

        @media (max-width: 480px) {
            .summary-grid {
                flex-direction: column;
            }
            .summary-item {
                min-width: 100%;
            }
        }

        .summary-label {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
            font-weight: 700;
            margin-bottom: 4px;
            display: block;
        }

        .mini-tag {
            background: rgba(255, 255, 255, 0.08);
            padding: 4px 8px;
            border-radius: 6px;
            font-size: 11px;
            margin: 0 3px 3px 0;
            border: 1px solid rgba(255, 255, 255, 0.08);
            display: inline-block;
            position: relative;
            overflow: hidden;
            transition: background 0.4s ease, border-color 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
        }

        .mini-tag.processing {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.15);
            border: 1.5px solid var(--processing-color, rgba(255, 255, 255, 0.3));
            box-shadow: 0 0 15px var(--processing-shadow, rgba(255, 255, 255, 0.2));
            animation: mini-tag-processing-pulse 1.4s ease-in-out infinite;
        }

        @keyframes mini-tag-processing-pulse {

            0%,
            100% {
                box-shadow: 0 0 8px var(--processing-shadow, rgba(255, 255, 255, 0.15));
            }

            50% {
                box-shadow: 0 0 20px var(--processing-shadow, rgba(255, 255, 255, 0.3));
            }
        }

        /* mini-tag done — per-dimension colors */
        .mini-tag.done {
            color: rgba(255, 255, 255, 0.55);
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.2);
            box-shadow: none;
        }

        .mini-tag.done[data-dim="moat"] {
            color: rgb(190, 110, 255);
            background: rgba(190, 110, 255, 0.12);
            border-color: rgba(190, 110, 255, 0.35);
            box-shadow: 0 0 10px rgba(190, 110, 255, 0.18);
        }

        .mini-tag.done[data-dim="wealth"] {
            color: rgb(255, 170, 60);
            background: rgba(255, 170, 60, 0.12);
            border-color: rgba(255, 170, 60, 0.35);
            box-shadow: 0 0 10px rgba(255, 170, 60, 0.18);
        }

        .mini-tag.done[data-dim="valuation"] {
            color: rgb(80, 210, 130);
            background: rgba(80, 210, 130, 0.12);
            border-color: rgba(80, 210, 130, 0.35);
            box-shadow: 0 0 10px rgba(80, 210, 130, 0.18);
        }

        .mini-tag.done[data-dim="peer"] {
            color: rgb(80, 165, 255);
            background: rgba(80, 165, 255, 0.12);
            border-color: rgba(80, 165, 255, 0.35);
            box-shadow: 0 0 10px rgba(80, 165, 255, 0.18);
        }

        .mini-tag.done[data-dim="ai"] {
            color: rgb(255, 90, 120);
            background: rgba(255, 90, 120, 0.12);
            border-color: rgba(255, 90, 120, 0.35);
            box-shadow: 0 0 10px rgba(255, 90, 120, 0.18);
        }

        .mini-tag.done[data-dim="capital"] {
            color: rgb(255, 210, 50);
            background: rgba(255, 210, 50, 0.12);
            border-color: rgba(255, 210, 50, 0.35);
            box-shadow: 0 0 10px rgba(255, 210, 50, 0.18);
        }

        .mini-tag.done[data-dim="alignment"] {
            color: rgb(60, 210, 200);
            background: rgba(60, 210, 200, 0.12);
            border-color: rgba(60, 210, 200, 0.35);
            box-shadow: 0 0 10px rgba(60, 210, 200, 0.18);
        }

        .mini-tag.done[data-dim="catalyst"] {
            color: rgb(255, 135, 60);
            background: rgba(255, 135, 60, 0.12);
            border-color: rgba(255, 135, 60, 0.35);
            box-shadow: 0 0 10px rgba(255, 135, 60, 0.18);
        }

        .mini-tag.done[data-dim="macro"] {
            color: rgb(160, 140, 255);
            background: rgba(160, 140, 255, 0.12);
            border-color: rgba(160, 140, 255, 0.35);
            box-shadow: 0 0 10px rgba(160, 140, 255, 0.18);
        }

        .mini-tag.done[data-dim="beta_quant"] {
            color: rgb(0, 200, 180);
            background: rgba(0, 200, 180, 0.12);
            border-color: rgba(0, 200, 180, 0.35);
            box-shadow: 0 0 10px rgba(0, 200, 180, 0.18);
        }

        .mini-tag.done[data-dim="beta_qual"] {
            color: rgb(120, 180, 255);
            background: rgba(120, 180, 255, 0.12);
            border-color: rgba(120, 180, 255, 0.35);
            box-shadow: 0 0 10px rgba(120, 180, 255, 0.18);
        }

        .mini-tag.done[data-dim="beta_gov"] {
            color: rgb(200, 160, 80);
            background: rgba(200, 160, 80, 0.12);
            border-color: rgba(200, 160, 80, 0.35);
            box-shadow: 0 0 10px rgba(200, 160, 80, 0.18);
        }

        .mini-tag.done[data-dim="beta_insider"] {
            color: rgb(220, 100, 180);
            background: rgba(220, 100, 180, 0.12);
            border-color: rgba(220, 100, 180, 0.35);
            box-shadow: 0 0 10px rgba(220, 100, 180, 0.18);
        }

        .mini-tag.done[data-dim="beta_market"] {
            color: rgb(100, 220, 140);
            background: rgba(100, 220, 140, 0.12);
            border-color: rgba(100, 220, 140, 0.35);
            box-shadow: 0 0 10px rgba(100, 220, 140, 0.18);
        }

        /* ── Dimension Metadata Indicators (loading screen) ── */
        .mini-tag .dim-meta-dot {
            display: inline-block;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            margin-left: 4px;
            vertical-align: middle;
            position: relative;
            top: -1px;
        }
        .dim-meta-dot.meta-clean { background: #08d181; }
        .dim-meta-dot.meta-retried { background: #ffbf00; }
        .dim-meta-dot.meta-fallback { background: #ff5a78; }
        .dim-meta-dot.meta-error { background: #ff2e2e; animation: meta-error-pulse 1s ease-in-out infinite; }

        @keyframes meta-error-pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.4; }
        }

        /* Tooltip for dim metadata */
        .mini-tag[data-meta-tip] {
            cursor: default;
        }
        .mini-tag[data-meta-tip]:hover::after {
            content: attr(data-meta-tip);
            position: absolute;
            bottom: calc(100% + 6px);
            left: 50%;
            transform: translateX(-50%);
            background: rgba(15, 15, 20, 0.95);
            color: rgba(255, 255, 255, 0.85);
            padding: 5px 10px;
            border-radius: 5px;
            font-size: 10px;
            letter-spacing: 0.3px;
            white-space: nowrap;
            z-index: 100;
            border: 1px solid rgba(255, 255, 255, 0.12);
            pointer-events: none;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
        }

        /* Stuck dimension visual — pulsing amber border when running > 60s */
        .mini-tag.dim-stuck {
            border-color: rgba(255, 191, 0, 0.6) !important;
            animation: dim-stuck-pulse 1.8s ease-in-out infinite !important;
        }
        @keyframes dim-stuck-pulse {
            0%, 100% { box-shadow: 0 0 8px rgba(255, 191, 0, 0.2); }
            50% { box-shadow: 0 0 22px rgba(255, 191, 0, 0.45); }
        }

        /* ── Aggregate Dimension Health Bar ── */
        .dim-health-bar {
            margin-top: 5px;
            font-size: 10px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            line-height: 1;
        }
        .dim-health-bar .dhb-dot {
            display: inline-block;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            margin-right: 3px;
            vertical-align: middle;
            position: relative;
            top: -1px;
        }
        .dhb-dot.dhb-green { background: #08d181; }
        .dhb-dot.dhb-amber { background: #ffbf00; }
        .dhb-dot.dhb-red { background: #ff5a78; }

        .mini-tag.shimmer {
            animation: mini-tag-shimmer 2.8s ease-in-out;
            filter: blur(0.5px);
        }

        @keyframes mini-tag-shimmer {
            0% {
                filter: blur(0px);
                opacity: 0.85;
                box-shadow: none;
            }

            40% {
                filter: blur(1px);
                opacity: 1;
                box-shadow: 0 0 14px rgba(255, 255, 255, 0.25);
            }

            70% {
                filter: blur(0.6px);
                opacity: 0.95;
                box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
            }

            100% {
                filter: blur(0px);
                opacity: 0.85;
                box-shadow: none;
            }
        }

        #results-view {
            display: none;
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            text-align: center;
        }

        /* Expand container when results are shown so report fills available space */
        body.results-visible .main-container,
        body.analysis-loading .main-container {
            max-width: min(1300px, 96vw) !important;
            padding-left: 16px !important;
            padding-right: 16px !important;
        }

        body.results-visible #results-view {
            max-width: 100%;
        }

        /* Safety net: the report can never render alongside the front page. */
        body:not(.results-visible):not(.analysis-loading) #results-view {
            display: none !important;
        }

        @media (max-width: 640px) {

            body.results-visible .main-container,
            body.analysis-loading .main-container {
                padding-left: 8px !important;
                padding-right: 8px !important;
            }
        }

        #loading-state {
            background: linear-gradient(135deg, rgba(12, 12, 16, 0.92), rgba(6, 6, 8, 0.96));
            border-radius: 24px;
            padding: 18px 24px 56px;
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            box-shadow: 0 30px 90px rgba(0, 0, 0, 0.85), 0 0 40px rgba(var(--ui-accent-rgb, 0, 240, 255), 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.07);
            transition: box-shadow 0.6s ease, transform 0.4s ease, opacity 0.4s ease, max-width 0.4s ease;
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.09);
            max-width: min(1200px, 96vw);
            margin: 0 auto;
            box-sizing: border-box;
        }

        /* Batch mode: keep spacious width so the company card grid can breathe */
        #loading-state.multi-batch-mode {
            max-width: min(1200px, 96vw);
        }

        /* ── Institutional Cockpit Layout for #loading-state ── */
        .xrl-cockpit-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            margin-bottom: 18px;
            flex-wrap: wrap;
        }

        .xrl-bar-left {
            display: flex;
            align-items: center;
            gap: 14px;
            flex-wrap: wrap;
        }

        .xrl-bar-meta {
            font-family: var(--mono-font, monospace);
            font-size: 11px;
            color: rgba(255, 255, 255, 0.45);
            letter-spacing: 0.05em;
        }

        .xrl-bar-right {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .xrl-telemetry-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font, monospace);
            font-size: 11px;
            color: rgba(255, 255, 255, 0.65);
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            padding: 5px 12px;
            border-radius: 8px;
        }

        .xrl-telemetry-chip strong {
            color: #ffffff;
            font-weight: 700;
        }

        /* Hero Header (Company Name & Status) */
        .xrl-target-hero {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }

        .xrl-target-left {
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
            flex: 1 1 auto;
        }

        .xrl-protocol-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.2);
            padding: 3px 8px;
            border-radius: 6px;
        }

        .xrl-pulse-mini {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--ui-accent);
            box-shadow: 0 0 6px var(--ui-accent);
        }

        .xrl-target-sub {
            font-family: var(--mono-font, monospace);
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.45);
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .xrl-target-right {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-shrink: 0;
        }

        .xrl-tag-chip {
            font-family: var(--mono-font, monospace);
            font-size: 10.5px;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.65);
        }

        .xrl-tag-chip.accent {
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.1);
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.28);
            color: var(--ui-accent);
        }

        /* Main Dual-Panel Operational Cockpit Deck */
        .xrl-cockpit-deck {
            display: grid;
            grid-template-columns: 380px minmax(0, 1fr);
            gap: 22px;
            align-items: stretch;
            width: 100%;
            margin-bottom: 20px;
        }

        @media (max-width: 960px) {
            .xrl-cockpit-deck {
                grid-template-columns: 1fr;
            }
        }

        /* ── Simple View & Deep Link (Opening Existing Report Retrieval) ── */
        body.deep-link #loading-state,
        #loading-state.simple-view {
            max-width: 620px;
            padding: 34px 28px 36px;
            margin: 0 auto;
        }

        body.deep-link #loading-state .xrl-target-hero,
        #loading-state.simple-view .xrl-target-hero {
            justify-content: center;
            text-align: center;
            margin-bottom: 22px;
        }

        body.deep-link #loading-state .xrl-target-left,
        #loading-state.simple-view .xrl-target-left {
            align-items: center;
            text-align: center;
            width: 100%;
        }

        body.deep-link #loading-state #loading-company,
        #loading-state.simple-view #loading-company {
            display: block !important;
            font-size: clamp(22px, 3.5vw, 28px);
            font-weight: 800;
            letter-spacing: -0.02em;
            color: #ffffff;
            margin: 8px 0 0 0;
            line-height: 1.2;
            text-align: center;
        }

        body.deep-link #loading-state #active-processing-info,
        #loading-state.simple-view #active-processing-info {
            display: block !important;
        }

        body.deep-link #loading-state .xrl-cockpit-deck,
        #loading-state.simple-view .xrl-cockpit-deck {
            display: grid !important;
            grid-template-columns: 1fr !important;
            max-width: 480px;
            margin: 0 auto;
        }

        body.deep-link #loading-state .xrl-engine-card,
        #loading-state.simple-view .xrl-engine-card {
            display: block !important;
            padding: 24px 22px;
            border-radius: 20px;
            background: rgba(18, 20, 26, 0.72);
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 14px 44px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        body.deep-link #loading-state .xray-loader-container,
        #loading-state.simple-view .xray-loader-container {
            display: flex !important;
        }

        body.deep-link #loading-state .xrl-visual-stage,
        #loading-state.simple-view .xrl-visual-stage {
            display: flex !important;
        }

        #loading-state.simple-view .xrl-engine-header,
        body.deep-link #loading-state .xrl-engine-header {
            margin-bottom: 12px;
            justify-content: space-between;
        }

        #loading-state.simple-view #perc-display {
            display: block !important;
            font-size: 13px !important;
            letter-spacing: 0.12em !important;
            color: rgba(255, 255, 255, 0.75) !important;
            font-weight: 600 !important;
            text-transform: uppercase !important;
            margin-top: 10px !important;
            font-family: var(--mono-font, monospace) !important;
        }

        #loading-state.simple-view .xrl-percentage-caption {
            display: block !important;
            color: rgba(255, 255, 255, 0.38);
            font-size: 9.5px;
            letter-spacing: 0.08em;
            margin-top: 3px;
        }

        #loading-state.simple-view .loading-progress-bar-wrap {
            margin-top: 16px !important;
            margin-bottom: 14px !important;
            background: rgba(255, 255, 255, 0.06);
            height: 4px !important;
            border-radius: 999px;
            overflow: hidden;
            position: relative;
        }

        #loading-state.simple-view .loading-progress-bar-fill {
            width: 100% !important;
            height: 100% !important;
            background: linear-gradient(90deg, transparent 0%, var(--ui-accent, #B0B0B0) 50%, transparent 100%) !important;
            background-size: 200% 100% !important;
            animation: xrl-simple-shimmer 1.8s infinite linear !important;
        }

        @keyframes xrl-simple-shimmer {
            0% { background-position: -200% 0; }
            100% { background-position: 200% 0; }
        }

        #loading-state.simple-view #status-log-container {
            display: block !important;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            margin-top: 14px;
            padding-top: 12px;
            text-align: center;
        }

        #loading-state.simple-view #rigor-phase-badge {
            display: none !important;
        }

        #loading-state.simple-view .rigor-micro-action {
            justify-content: center;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.55);
        }

        #loading-state.simple-view #rigor-label {
            color: var(--ui-accent, #B0B0B0);
        }

        /* LEFT PANEL: Synthesis Engine & Progress Core */
        .xrl-engine-card {
            background: rgba(18, 20, 26, 0.72);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 22px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            box-shadow: 0 14px 44px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            position: relative;
            overflow: hidden;
            box-sizing: border-box;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        .xrl-engine-card::before {
            content: '';
            position: absolute;
            top: 0; left: 15%; right: 15%; height: 1px;
            background: linear-gradient(90deg, transparent, rgba(var(--ui-accent-rgb, 176, 176, 176), 0.5), transparent);
        }

        .xrl-engine-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 16px;
        }

        .xrl-engine-title {
            font-family: var(--mono-font, monospace);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.55);
            text-transform: uppercase;
        }

        .xrl-engine-badge {
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            font-weight: 700;
            padding: 3px 8px;
            border-radius: 4px;
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.1);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25);
            letter-spacing: 0.06em;
        }

        /* Loader & Percentage Stage */
        .xrl-visual-stage {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 8px 0 14px;
        }

        .xrl-percentage-caption {
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
            text-transform: uppercase;
            margin-top: 4px;
        }

        .xrl-engine-card .loading-progress-bar-wrap {
            width: 100% !important;
            height: 6px !important;
            margin: 14px 0 16px !important;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 999px;
        }

        .xrl-engine-card .progress-percentage {
            font-size: 44px !important;
            font-family: var(--mono-font, monospace) !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            letter-spacing: -0.03em !important;
            text-shadow: 0 0 24px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35) !important;
        }

        .xrl-engine-card .status-log-container {
            margin: 12px 0 0 !important;
            width: 100% !important;
            text-align: left !important;
            align-items: flex-start !important;
            border-radius: 12px !important;
            padding: 12px 14px !important;
            background: rgba(10, 11, 15, 0.75) !important;
            border: 1px solid rgba(255, 255, 255, 0.06) !important;
        }

        .xrl-engine-meta-row {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 12px;
            border-top: 1px solid rgba(255, 255, 255, 0.07);
            padding-top: 14px;
            margin-top: 14px;
        }

        .xrl-em-item {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .xrl-em-k {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            color: rgba(255, 255, 255, 0.4);
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .xrl-em-v {
            font-family: var(--mono-font, monospace);
            font-size: 11px;
            font-weight: 700;
            color: #ffffff;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .xrl-em-v.green {
            color: var(--verdict-buy, #08d181);
        }

        /* RIGHT PANEL: Integrated Live Research Feed Container */
        .xrl-feed-card {
            display: flex;
            flex-direction: column;
            min-width: 0;
            box-sizing: border-box;
        }

        .xrl-feed-card #dimension-teaser-feed.lrf {
            margin: 0;
            flex: 1 1 auto;
            background: rgba(18, 20, 26, 0.72);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 22px;
            box-shadow: 0 14px 44px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        .xrl-feed-card .summary-container {
            display: none;
            margin-top: 14px;
            padding: 14px 18px;
            background: rgba(18, 20, 26, 0.72);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            box-sizing: border-box;
        }

        #loading-state.multi-batch-mode .xrl-feed-card .summary-container {
            display: block;
        }

        .xrl-feed-card #did-you-know,
        .xrl-feed-card #dim-insight {
            display: none !important;
        }

        /* In batch mode, center the company grid inside the summary/progress area */
        #loading-state.multi-batch-mode #multi-company-grid {
            margin-top: 16px;
        }

        /* Neural Scan Animation - removed */
        #loading-state::before {
            display: none;
        }

        #loading-state::after {
            display: none;
        }

        @keyframes neural-scan {
            from {
                transform: rotate(15deg) translateY(0);
            }

            to {
                transform: rotate(15deg) translateY(40px);
            }
        }

        @keyframes radar-sweep {
            0% {
                left: -100%;
                opacity: 0;
            }

            50% {
                opacity: 1;
            }

            100% {
                left: 200%;
                opacity: 0;
            }
        }

        #loading-state>* {
            position: relative;
            z-index: 2;
        }

        #cards-container {
            border-radius: 28px;
            padding: 4px 0;
            background: rgba(22, 22, 23, 0.01);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
        }

        /* ── Multi-company batch loading screen ── */
        #multi-company-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
            gap: 16px;
            max-width: 960px;
            margin: 0 auto 2rem;
        }

        .multi-batch-card {
            background: rgba(255, 255, 255, 0.025);
            border: none;
            border-radius: 18px;
            padding: 18px 20px 16px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            position: relative;
            overflow: hidden;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18);
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                        box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                        background 0.3s;
            box-sizing: border-box;
        }

        /* Ambient glow — verdict/accent colour bleeds in from top-right on hover */
        .multi-batch-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at top right,
                rgba(var(--batch-accent-rgb, 0, 234, 255), 0.10), transparent 68%);
            opacity: 0;
            transition: opacity 0.4s;
            pointer-events: none;
        }

        .multi-batch-card:hover::before {
            opacity: 1;
        }

        /* Gradient border — same mask technique as .report-card */
        .multi-batch-card::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            padding: 1px;
            background: linear-gradient(135deg,
                rgba(var(--batch-accent-rgb, 0, 234, 255), 0.55),
                rgba(var(--batch-accent-rgb, 0, 234, 255), 0.10) 45%,
                rgba(var(--batch-accent-rgb, 0, 234, 255), 0.40));
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            mask-composite: exclude;
            opacity: 0.45;
            pointer-events: none;
            transition: opacity 0.4s;
        }

        .multi-batch-card:hover::after {
            opacity: 0.9;
        }

        .multi-batch-card > * {
            position: relative;
            z-index: 1;
        }

        .multi-batch-card-index {
            font-family: var(--mono-font);
            font-size: 8px;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.28);
            margin-bottom: 2px;
        }

        .multi-batch-card-name {
            font-family: var(--header-font);
            font-size: 15px;
            font-weight: 850;
            letter-spacing: -0.02em;
            color: rgba(255, 255, 255, 0.92);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .multi-batch-card-ticker {
            font-family: var(--mono-font);
            font-size: 9px;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.28);
        }

        .multi-batch-card-status-row {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-top: 2px;
        }

        .multi-batch-card-spinner {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            border: 1.5px solid rgba(255, 255, 255, 0.1);
            border-top-color: rgba(var(--batch-accent-rgb, 0, 234, 255), 0.9);
            animation: spin 0.8s linear infinite;
            flex-shrink: 0;
        }

        .multi-batch-card-status-text {
            font-family: var(--mono-font);
            font-size: 9px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.38);
        }

        .multi-batch-card-track {
            background: rgba(255, 255, 255, 0.06);
            border-radius: 99px;
            height: 2px;
            overflow: hidden;
        }

        .multi-batch-card-fill {
            height: 2px;
            width: 0%;
            border-radius: 99px;
            background: rgba(var(--batch-accent-rgb, 0, 234, 255), 0.7);
            transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), background 0.4s;
        }

        .multi-batch-card-open {
            display: none;
            margin-top: 2px;
        }

        .multi-batch-open-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 13px;
            border-radius: 99px;
            background: rgba(8, 209, 129, 0.08);
            border: 1px solid rgba(8, 209, 129, 0.32);
            color: var(--score-4);
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.13em;
            text-decoration: none;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.2s, border-color 0.2s;
        }

        .multi-batch-open-btn:hover {
            background: rgba(8, 209, 129, 0.16);
            border-color: rgba(8, 209, 129, 0.55);
        }

        .multi-batch-header {
            text-align: center;
            margin-bottom: 2rem;
        }

        .multi-batch-eyebrow {
            font-family: var(--mono-font);
            font-size: 9px;
            letter-spacing: 0.28em;
            color: var(--text-muted);
            text-transform: uppercase;
            margin-bottom: 10px;
        }

        /* ULTRA badge shown in batch analysis header + input hint */
        .batch-ultra-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 4px 10px;
            border-radius: 999px;
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            background: linear-gradient(135deg, rgba(255, 215, 0, 0.18), rgba(255, 165, 60, 0.12));
            border: 1px solid rgba(255, 200, 60, 0.45);
            color: rgba(255, 215, 0, 0.92);
            white-space: nowrap;
        }

        /* Inline hint below company input for batch feature */
        #batch-ultra-hint {
            display: none;
            align-items: center;
            gap: 10px;
            padding: 9px 14px;
            margin: 10px 0 6px 0;
            border-radius: 8px;
            background: rgba(255, 200, 60, 0.06);
            border: 1px solid rgba(255, 200, 60, 0.22);
            font-family: var(--mono-font);
            font-size: 10px;
            color: rgba(255, 215, 0, 0.85);
            letter-spacing: 0.06em;
            width: 100%;
            box-sizing: border-box;
            animation: erFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        }

        #batch-ultra-hint.visible {
            display: flex;
        }

        .multi-batch-title {
            font-family: var(--header-font);
            font-size: 1.9rem;
            font-weight: 800;
            letter-spacing: -0.02em;
            background: var(--header-gradient);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            margin-bottom: 6px;
        }

        .multi-batch-subtitle {
            font-family: var(--mono-font);
            font-size: 10px;
            color: var(--text-muted);
            letter-spacing: 0.1em;
        }

        #status-log {
            font-family: "SF Mono", "Menlo", monospace;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.8);
            letter-spacing: 0.16em;
            text-transform: uppercase;
            font-weight: 600;
            transition: opacity 0.3s ease-in-out;
        }

        .status-log-container {
            height: auto;
            min-height: 52px;
            margin: 12px 0 10px;
            padding: 11px 20px;
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.85) 0%, rgba(8, 8, 10, 0.92) 100%);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 14px;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 5px;
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            box-shadow: 0 6px 28px rgba(0, 0, 0, 0.4), 0 0 20px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.06);
            text-align: center;
            transition: all 0.3s ease;
        }

        .loading-title-text {
            font-family: 'SF Pro Display', system-ui, sans-serif;
            color: rgba(255, 255, 255, 0.5);
            margin: 0;
            letter-spacing: 0.22em;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
        }

        .loading-company-text {
            font-family: var(--header-font, sans-serif);
            color: #ffffff;
            font-size: 32px;
            font-weight: 800;
            letter-spacing: -0.02em;
            line-height: 1.15;
            text-align: left;
            min-height: 38px;
            margin: 4px 0 2px;
            text-shadow: 0 0 24px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.35);
            word-break: break-word;
        }

        .loading-hero {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            margin: 12px 0 8px;
        }

        /* ── Loading Error Card & Failure State ────────────────────────────── */
        #loading-state.is-error .xray-loader-container,
        #loading-state.is-error .xray-loader {
            --hue-primary: #ff4444 !important;
            --hue-secondary: #ff6b6b !important;
            --hue-tertiary: #ff8888 !important;
            --hue-accent: #ff2222 !important;
            filter: drop-shadow(0 0 28px rgba(255, 68, 68, 0.6));
            box-shadow: 0 0 55px rgba(255, 68, 68, 0.45);
        }
        #loading-state.is-error .b2-core-ring {
            stroke: #ff4444 !important;
            filter: drop-shadow(0 0 6px #ff4444);
        }
        #loading-state.is-error .xray-loader-ring {
            animation: xrl-ring-spin-err 3s linear infinite;
        }
        @keyframes xrl-ring-spin-err {
            0% {
                transform: rotate(0deg);
                box-shadow:
                    0 10px 28px 4px rgba(255, 68, 68, 0.9) inset,
                    0 28px 40px 0 rgba(220, 40, 40, 0.6) inset,
                    0 54px 60px 0 rgba(180, 20, 20, 0.45) inset;
            }
            50% {
                transform: rotate(180deg);
                box-shadow:
                    0 10px 28px 4px rgba(255, 120, 40, 0.9) inset,
                    0 28px 40px 0 rgba(255, 68, 68, 0.6) inset,
                    0 54px 60px 0 rgba(180, 20, 20, 0.45) inset;
            }
            100% {
                transform: rotate(360deg);
                box-shadow:
                    0 10px 28px 4px rgba(255, 68, 68, 0.9) inset,
                    0 28px 40px 0 rgba(220, 40, 40, 0.6) inset,
                    0 54px 60px 0 rgba(180, 20, 20, 0.45) inset;
            }
        }
        #loading-state.is-error .loading-title-text,
        #loading-state.is-error #loading-title {
            color: #ff6b6b !important;
            text-shadow: 0 0 14px rgba(255, 107, 107, 0.6);
            letter-spacing: 0.24em;
        }
        #loading-state.is-error .xrl-letter {
            color: #ff6b6b !important;
            text-shadow: 0 0 12px rgba(255, 69, 58, 0.8) !important;
            animation: none !important;
            opacity: 1 !important;
        }
        .progress-percentage.perc-error {
            color: #ff5252 !important;
            text-shadow: 0 0 25px rgba(255, 82, 82, 0.85);
        }
        .loading-progress-bar-fill.bar-error {
            background: linear-gradient(90deg, #ff4444, #ff8888) !important;
            box-shadow: 0 0 16px rgba(255, 68, 68, 0.7);
        }

        .loading-error-card {
            width: 100%;
            max-width: 100%;
            margin: 14px 0 0;
            background: rgba(22, 12, 16, 0.85);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 68, 68, 0.35);
            border-radius: 14px;
            padding: 16px 18px;
            box-shadow: 0 16px 45px rgba(255, 20, 20, 0.16), 0 0 24px rgba(255, 68, 68, 0.08) inset;
            animation: lec-fade-in 0.35s ease-out;
            box-sizing: border-box;
            text-align: left;
        }
        @keyframes lec-fade-in {
            from { opacity: 0; transform: translateY(8px) scale(0.98); }
            to { opacity: 1; transform: translateY(0) scale(1); }
        }

        .lec-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 12px;
            padding-bottom: 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }
        .lec-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.15em;
            color: #ff6b6b;
            text-transform: uppercase;
        }
        .lec-pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #ff4444;
            box-shadow: 0 0 10px #ff4444;
            animation: lec-pulse 1.4s ease-in-out infinite;
        }
        @keyframes lec-pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.4; transform: scale(0.85); }
        }
        .lec-exec-chip {
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            padding: 3px 8px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 6px;
            color: rgba(255, 255, 255, 0.7);
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .lec-exec-chip:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.25);
        }

        .lec-body {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-bottom: 14px;
        }
        .lec-icon-msg {
            display: flex;
            align-items: flex-start;
            gap: 12px;
        }
        .lec-icon {
            font-size: 22px;
            line-height: 1;
            padding-top: 2px;
            flex-shrink: 0;
        }
        .lec-content {
            flex: 1;
            min-width: 0;
        }
        .lec-title {
            font-family: var(--header-font, 'Inter', sans-serif);
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 0.1em;
            color: #ffffff;
            margin-bottom: 4px;
            text-transform: uppercase;
        }
        .lec-message {
            font-family: var(--font-family, -apple-system, BlinkMacSystemFont, sans-serif);
            font-size: 12px;
            line-height: 1.45;
            color: rgba(255, 255, 255, 0.85);
            word-break: break-word;
        }

        .lec-meta-row {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 8px;
            padding: 8px 10px;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 8px;
        }
        @media (max-width: 540px) {
            .lec-meta-row {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        .lec-meta-item {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        .lec-meta-k {
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 9px;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
            text-transform: uppercase;
        }
        .lec-meta-v {
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.9);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .lec-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }
        .lec-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            min-height: 44px;
            padding: 8px 16px;
            border-radius: 8px;
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.2s ease;
            box-sizing: border-box;
        }
        .lec-btn-primary {
            background: linear-gradient(135deg, #ff4444, #d32f2f);
            color: #ffffff;
            border: 1px solid rgba(255, 120, 120, 0.4);
            box-shadow: 0 4px 16px rgba(255, 68, 68, 0.35);
        }
        .lec-btn-primary:hover {
            background: linear-gradient(135deg, #ff5555, #e53935);
            box-shadow: 0 6px 20px rgba(255, 68, 68, 0.5);
            transform: translateY(-1px);
        }
        .lec-btn-secondary {
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.85);
            border: 1px solid rgba(255, 255, 255, 0.15);
        }
        .lec-btn-secondary:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.3);
        }
        .lec-admin-group {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 6px;
            margin-left: auto;
        }
        .lec-btn-admin {
            min-height: 44px;
            padding: 8px 12px;
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
            color: var(--ui-accent, #B0B0B0);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.3);
            border-radius: 8px;
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .lec-btn-admin:hover {
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.16);
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.6);
            box-shadow: 0 0 12px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.3);
        }

        /* ── Admin Failed Prompt Modal ─────────────────────────────────────── */
        .xr-prompt-modal {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 100000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            box-sizing: border-box;
        }
        .xr-prompt-modal-backdrop {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(4, 6, 10, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .xr-prompt-modal-dialog {
            position: relative;
            z-index: 1;
            width: 100%;
            max-width: 900px;
            max-height: 85vh;
            display: flex;
            flex-direction: column;
            background: rgba(14, 18, 24, 0.95);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35);
            border-radius: 14px;
            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7), 0 0 35px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.12);
            overflow: hidden;
            box-sizing: border-box;
        }
        .xr-prompt-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 14px 18px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(0, 0, 0, 0.25);
            gap: 10px;
            flex-wrap: wrap;
        }
        .xr-prompt-modal-title {
            display: flex;
            align-items: center;
            gap: 10px;
            font-family: var(--header-font, 'Inter', sans-serif);
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: #ffffff;
            text-transform: uppercase;
        }
        .xr-prompt-modal-chip {
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            padding: 2px 7px;
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.1);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25);
            border-radius: 5px;
            color: var(--ui-accent, #B0B0B0);
        }
        .xr-prompt-modal-body {
            flex: 1;
            min-height: 200px;
            overflow-y: auto;
            padding: 16px;
            background: #090c10;
        }
        .xr-prompt-modal-pre {
            margin: 0;
            font-family: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;
            font-size: 12px;
            line-height: 1.6;
            color: #c9d1d9;
            white-space: pre-wrap;
            word-break: break-word;
        }

        /* ── X-RAY Agentic Due Diligence Loader: B2 // 16-Agent Orbital Helix Inward ── */
        .xray-loader-container,
        .xray-loader {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 120px;
            height: 120px;
            margin: 0 auto 16px;
            --speed-mult: 1;
            --hue-primary: var(--ui-accent, #B0B0B0);
            --hue-secondary: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.75);
            --hue-tertiary: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.45);
            --hue-accent: rgba(255, 255, 255, 0.85);
            --glow-primary: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.4);
            --glow-secondary: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.2);
            --scanline-gap-opacity: 0.82;
            --fine-insert-opacity: 0.92;
            color: var(--hue-primary);
            flex-shrink: 0;
            user-select: none;
            box-sizing: border-box;
            filter: drop-shadow(0 0 24px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35));
        }

        .xray-loader-container svg,
        .xray-loader svg {
            width: 100%;
            height: 100%;
            overflow: visible;
            display: block;
        }

        .xray-loader-container .w-full,
        .xray-loader .w-full { width: 100%; }
        .xray-loader-container .h-full,
        .xray-loader .h-full { height: 100%; }
        .xray-loader-container .overflow-visible,
        .xray-loader .overflow-visible { overflow: visible; }

        /* 16 Parallel Agents Inward (4 waves x 4 arms) */
        .b-wave-1 { animation-delay: 0s !important; }
        .b-wave-2 { animation-delay: calc(0.16s / var(--speed-mult, 1)) !important; }
        .b-wave-3 { animation-delay: calc(0.32s / var(--speed-mult, 1)) !important; }
        .b-wave-4 { animation-delay: calc(0.48s / var(--speed-mult, 1)) !important; }

        @keyframes b0AgentIn {
            0% { stroke-dashoffset: 90; opacity: 0; }
            15% { opacity: 1; }
            68% { stroke-dashoffset: 0; opacity: 1; }
            100% { stroke-dashoffset: -22; opacity: 0; }
        }

        /* B2: 16-Agent Orbital Helix Inward */
        .b2-helix-a {
            stroke-dasharray: 12 95;
            stroke-dashoffset: 95;
            animation: b0AgentIn calc(2.3s / var(--speed-mult, 1)) ease-in-out infinite;
            will-change: stroke-dashoffset, opacity;
        }

        /* 9-Dimension Rotating Core Ring */
        .b2-core-ring {
            transform-origin: 60px 60px;
            animation: spinSlow calc(3.2s / var(--speed-mult, 1)) linear infinite;
            will-change: transform;
        }

        @keyframes spinSlow {
            to { transform: rotate(360deg); }
        }

        /* Fallback / secondary loader ring animation */
        .xray-loader-ring {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            aspect-ratio: 1 / 1;
            border-radius: 50%;
            background-color: transparent;
            animation: xrl-ring-spin 4.5s linear infinite;
            z-index: 0;
            display: none;
        }

        @keyframes xrl-ring-spin {
            0% {
                transform: rotate(0deg);
                box-shadow: 0 10px 28px 4px rgba(79, 159, 154, 0.85) inset;
            }
            100% {
                transform: rotate(360deg);
                box-shadow: 0 10px 28px 4px rgba(79, 159, 154, 0.85) inset;
            }
        }

        /* hide old orbital SVG sub-elements — kept for revert safety */
        .xrl-ring-outer,
        .xrl-ring-mid,
        .xrl-ring-inner,
        .xrl-sweep,
        .xrl-dot,
        .xrl-ticks {
            display: none;
        }

        /* ══════════════════════════════════════════════════════════
           XR Panel Loader — unified ring component for all panels
           Usage: <div class="xr-pl xr-pl-md"><div class="xr-pl-ring"></div><span>LOADING</span></div>
           Sizes: xr-pl-xs (32px inline), xr-pl-sm (80px), xr-pl-md (120px), xr-pl-lg (160px)
           ══════════════════════════════════════════════════════════ */
        .xr-pl {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            flex-shrink: 0;
            user-select: none;
            font-family: var(--mono-font, 'Courier New', monospace);
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: rgba(255, 255, 255, 0.85);
        }

        .xr-pl-xs {
            width: 32px;
            height: 32px;
            font-size: 0;
        }

        .xr-pl-sm {
            width: 80px;
            height: 80px;
            font-size: 8px;
            letter-spacing: 0.2em;
        }

        .xr-pl-md {
            width: 120px;
            height: 120px;
            font-size: 10px;
        }

        .xr-pl-lg {
            width: 160px;
            height: 160px;
            font-size: 13px;
        }

        .xr-pl-ring {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            animation: xrPlRingSpin 4.5s linear infinite;
        }

        .xr-pl-xs .xr-pl-ring {
            animation-duration: 2.8s;
        }

        .xr-pl-sm .xr-pl-ring {
            animation-duration: 3.5s;
        }

        @keyframes xrPlRingSpin {
            0% {
                transform: rotate(0deg);
                box-shadow:
                    0 8px 22px 3px rgba(79, 159, 154, 0.80) inset,
                    0 22px 34px 0 rgba(120, 80, 200, 0.50) inset,
                    0 42px 52px 0 rgba(30, 140, 220, 0.40) inset;
                filter: hue-rotate(0deg);
            }

            25% {
                box-shadow:
                    0 8px 22px 3px rgba(120, 80, 200, 0.80) inset,
                    0 22px 34px 0 rgba(30, 140, 220, 0.55) inset,
                    0 42px 52px 0 rgba(79, 159, 154, 0.38) inset;
                filter: hue-rotate(60deg);
            }

            50% {
                transform: rotate(180deg);
                box-shadow:
                    0 8px 22px 3px rgba(30, 140, 220, 0.85) inset,
                    0 18px 30px 0 rgba(79, 159, 154, 0.50) inset,
                    0 36px 50px 0 rgba(200, 80, 160, 0.38) inset;
                filter: hue-rotate(120deg);
            }

            75% {
                box-shadow:
                    0 8px 22px 3px rgba(200, 80, 160, 0.75) inset,
                    0 22px 34px 0 rgba(79, 159, 154, 0.55) inset,
                    0 42px 52px 0 rgba(120, 80, 200, 0.42) inset;
                filter: hue-rotate(180deg);
            }

            100% {
                transform: rotate(360deg);
                box-shadow:
                    0 8px 22px 3px rgba(79, 159, 154, 0.80) inset,
                    0 22px 34px 0 rgba(120, 80, 200, 0.50) inset,
                    0 42px 52px 0 rgba(30, 140, 220, 0.40) inset;
                filter: hue-rotate(0deg);
            }
        }

        /* xs variant — simpler single-colour ring for tiny inline use */
        .xr-pl-xs .xr-pl-ring {
            animation-name: xrPlRingSpinXS;
        }

        @keyframes xrPlRingSpinXS {
            0% {
                transform: rotate(0deg);
                box-shadow: 0 4px 10px 2px rgba(79, 159, 154, 0.9) inset;
            }

            50% {
                transform: rotate(180deg);
                box-shadow: 0 4px 10px 2px rgba(30, 140, 220, 0.9) inset;
            }

            100% {
                transform: rotate(360deg);
                box-shadow: 0 4px 10px 2px rgba(79, 159, 154, 0.9) inset;
            }
        }

        /* Letters inside ring (optional, used with xr-pl-md/lg) */
        .xr-pl-letter {
            display: inline-block;
            opacity: 0.35;
            animation: xrPlLetterAnim 2s infinite;
            color: rgba(255, 255, 255, 0.85);
            z-index: 1;
            position: relative;
        }

        .xr-pl-letter:nth-child(1) {
            animation-delay: 0.00s;
        }

        .xr-pl-letter:nth-child(2) {
            animation-delay: 0.10s;
        }

        .xr-pl-letter:nth-child(3) {
            animation-delay: 0.20s;
        }

        .xr-pl-letter:nth-child(4) {
            animation-delay: 0.30s;
        }

        .xr-pl-letter:nth-child(5) {
            animation-delay: 0.40s;
        }

        .xr-pl-letter:nth-child(6) {
            animation-delay: 0.50s;
        }

        .xr-pl-letter:nth-child(7) {
            animation-delay: 0.60s;
        }

        .xr-pl-letter:nth-child(8) {
            animation-delay: 0.70s;
        }

        .xr-pl-letter:nth-child(9) {
            animation-delay: 0.80s;
        }

        .xr-pl-letter:nth-child(10) {
            animation-delay: 0.90s;
        }

        @keyframes xrPlLetterAnim {

            0%,
            100% {
                opacity: 0.35;
                transform: translateY(0);
                color: rgba(255, 255, 255, 0.7);
            }

            20% {
                opacity: 1;
                transform: scale(1.18);
                color: rgba(255, 255, 255, 1);
                text-shadow: 0 0 12px rgba(255, 255, 255, 0.55);
            }

            40% {
                opacity: 0.6;
                transform: translateY(0);
                color: rgba(255, 255, 255, 0.8);
            }
        }

        /* Wrap for centered ring + subtitle below */
        .xr-pl-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 20px;
        }

        .xr-pl-label {
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.22);
        }

        /* Skeleton shimmer — reusable shimmer block */
        @keyframes xrSkimmer {
            0% {
                background-position: -400px 0;
            }

            100% {
                background-position: 400px 0;
            }
        }

        .xr-skel {
            background: linear-gradient(90deg,
                    rgba(255, 255, 255, 0.04) 25%,
                    rgba(255, 255, 255, 0.09) 50%,
                    rgba(255, 255, 255, 0.04) 75%);
            background-size: 400px 100%;
            animation: xrSkimmer 1.6s infinite linear;
            border-radius: 8px;
        }

        /* Skeleton account cards */
        .acct-skel-card {
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.07);
            padding: 18px 20px;
            margin: 0 20px;
        }

        .acct-skel-title {
            height: 10px;
            width: 40%;
            margin-bottom: 14px;
        }

        .acct-skel-line {
            height: 9px;
            margin-bottom: 10px;
        }

        .acct-skel-line-short {
            width: 55%;
        }

        .acct-skel-line-long {
            width: 80%;
        }

        /* ── XR Panel Loader — entrance animation ── */
        @keyframes xrPlEntrance {
            0% {
                opacity: 0;
                transform: scale(0.85);
            }

            60% {
                opacity: 1;
                transform: scale(1.02);
            }

            100% {
                opacity: 1;
                transform: scale(1);
            }
        }

        @keyframes xrWrapEntrance {
            0% {
                opacity: 0;
                transform: translateY(10px);
            }

            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes xrSkelEntrance {
            0% {
                opacity: 0;
                transform: translateY(6px);
            }

            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .xr-pl {
            animation: xrPlEntrance 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) both;
        }

        .xr-pl-wrap {
            animation: xrWrapEntrance 0.35s ease-out both;
        }

        /* Progress label — smooth text transitions via opacity */
        .xr-pl-label {
            transition: opacity 0.25s ease;
        }

        .xr-pl-label.xr-msg-fade {
            opacity: 0;
        }

        /* Skeleton rows entrance — staggered per-child */
        .xr-skel-row {
            animation: xrSkelEntrance 0.3s ease-out both;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        }

        .xr-skel-row:nth-child(1) {
            animation-delay: 0.05s;
        }

        .xr-skel-row:nth-child(2) {
            animation-delay: 0.10s;
        }

        .xr-skel-row:nth-child(3) {
            animation-delay: 0.15s;
        }

        .xr-skel-row:nth-child(4) {
            animation-delay: 0.20s;
        }

        .xr-skel-row:nth-child(5) {
            animation-delay: 0.25s;
        }

        .xr-skel-row:nth-child(6) {
            animation-delay: 0.30s;
        }

        .xr-skel-row:nth-child(7) {
            animation-delay: 0.35s;
        }

        .xr-skel-row:nth-child(8) {
            animation-delay: 0.40s;
        }

        /* Skeleton table cells */
        .pf-skel-cell {
            padding: 9px 8px;
            vertical-align: middle;
        }

        .pf-skel-bar {
            height: 11px;
            border-radius: 5px;
        }

        .pf-skel-chip {
            height: 18px;
            border-radius: 9px;
            width: 52px;
        }

        .pf-skel-icon {
            width: 26px;
            height: 26px;
            border-radius: 7px;
            display: inline-block;
            vertical-align: middle;
        }

        .pf-skel-btn {
            width: 24px;
            height: 24px;
            border-radius: 6px;
        }

        .progress-percentage {
            display: block;
            font-size: 48px;
            font-weight: 800;
            margin: 0;
            line-height: 1;
            background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.6) 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-variant-numeric: tabular-nums;
            letter-spacing: -0.04em;
            filter: drop-shadow(0 2px 4px rgba(255, 255, 255, 0.1));
        }

        .loading-progress-bar-wrap {
            width: 220px;
            height: 3px;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 999px;
            margin: 10px auto 14px;
            overflow: hidden;
            position: relative;
        }

        .loading-progress-bar-fill {
            width: 0%;
            height: 100%;
            background: linear-gradient(90deg, var(--ui-accent), #ffffff);
            box-shadow: 0 0 10px rgba(var(--ui-accent-rgb), 0.5);
            border-radius: 999px;
            transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .loading-layout-master {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-top: 8px;
            text-align: left;
            width: 100%;
            max-width: 100%;
            margin-left: 0;
            margin-right: 0;
            box-sizing: border-box;
        }

        /* Status Info Container */
        .status-info-container {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            padding: 10px 18px;
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.72) 0%, rgba(8, 8, 10, 0.88) 100%);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        .status-info-grid {
            display: flex;
            justify-content: center;
            gap: 16px;
        }

        .status-info-item {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .status-info-icon {
            display: none;
        }

        .status-info-icon svg {
            width: 100%;
            height: 100%;
            stroke: rgba(255, 255, 255, 0.5);
        }

        .status-info-content {
            display: flex;
            align-items: baseline;
            gap: 4px;
            min-width: 0;
        }

        .status-info-label {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.35);
            font-weight: 600;
            white-space: nowrap;
        }

        .status-info-value {
            font-size: 13px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.9);
            letter-spacing: 0.02em;
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
        }

        .queue-status-inline {
            text-align: center;
            font-size: 11px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            font-weight: 600;
            padding-top: 6px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        .queue-status-inline:empty {
            display: none;
        }

        /* Legacy support - hide old individual elements */
        .agents-count {
            display: none;
        }

        .processing-time {
            display: none;
        }

        .queue-status {
            display: none;
        }

        .eta-status {
            display: none;
        }

        .results-header {
            margin: 10px 0 30px;
            font-size: 28px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--beige);
        }

        .company-meta {
            font-size: 10px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            margin-top: 6px;
        }

        .company-date {
            font-size: 10px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            margin-top: 4px;
        }

        .company-processing {
            font-size: 10px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            margin-top: 6px;
        }

        .cards-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
        }

        .result-card {
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: var(--card-radius);
            padding: 32px;
            position: relative;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 0 20px rgba(255, 255, 255, 0.1),
                inset 0 1px 0 rgba(255, 255, 255, 0.08),
                0 20px 60px rgba(0, 0, 0, 0.3);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            gap: 16px;
            animation: resultCardGlow 5s ease-in-out infinite;
        }

        @keyframes resultCardGlow {

            0%,
            100% {
                box-shadow: 0 0 20px rgba(255, 255, 255, 0.1),
                    inset 0 1px 0 rgba(255, 255, 255, 0.08),
                    0 20px 60px rgba(0, 0, 0, 0.3);
                border-color: rgba(255, 255, 255, 0.15);
            }

            50% {
                box-shadow: 0 0 30px rgba(255, 255, 255, 0.15),
                    0 0 40px rgba(255, 255, 255, 0.08),
                    inset 0 1px 0 rgba(255, 255, 255, 0.12),
                    0 20px 60px rgba(0, 0, 0, 0.3);
                border-color: rgba(255, 255, 255, 0.25);
            }
        }

        .result-card:hover {
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
            border-color: rgba(255, 255, 255, 0.3);
            animation: none;
        }

        .result-card h3 {
            margin: 0 0 6px 0;
            font-family: var(--display-font);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            /* Increased tracking */
            color: var(--text-header);
            font-weight: 700;
        }

        .result-card p {
            margin: 0;
            font-size: var(--body-size);
            /* Increased font size */
            line-height: 1.6;
            font-family: var(--body-font);
            color: var(--text-body);
        }

        .result-image {
            width: 100%;
            border-radius: 16px;
            border: 1px solid rgba(255, 255, 255, 0.16);
            box-shadow: 0 12px 30px rgba(var(--ink-black-rgb), 0.35);
        }

        .result-links {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .result-link {
            padding: 8px 14px;
            border-radius: 999px;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 600;
            color: var(--ink-black);
            background: linear-gradient(135deg, var(--beige), var(--ash-grey));
            text-decoration: none;
            box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.4);
        }

        .result-link.secondary {
            background: rgba(255, 255, 255, 0.08);
            color: var(--beige);
            border: 1px solid rgba(255, 255, 255, 0.18);
        }

        .result-empty {
            padding: 30px;
            border-radius: 20px;
            border: 1px dashed rgba(255, 255, 255, 0.2);
            background: rgba(var(--ink-black-rgb), 0.4);
            color: var(--text-muted);
        }

        .progress-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .progress-chip {
            padding: 6px 12px;
            border-radius: 999px;
            font-size: 10px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            font-weight: 700;
            border: 1px solid rgba(255, 255, 255, 0.18);
            color: rgba(255, 255, 255, 0.6);
            background: rgba(255, 255, 255, 0.06);
            transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
            position: relative;
        }

        /* ── Active / currently-processing chip ─────────────────────── */
        .progress-chip.processing {
            color: #ffffff;
            font-size: 11px;
            padding: 8px 16px;
            letter-spacing: 0.12em;
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.14);
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.55);
            box-shadow:
                0 0 0 1px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.2),
                0 0 16px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25),
                0 0 40px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.10),
                inset 0 1px 0 rgba(255, 255, 255, 0.12);
            animation: chip-processing-pulse 2s ease-in-out infinite;
            transform: scale(1.08);
            z-index: 1;
        }

        /* Animated shimmer sweep across the active chip */
        .progress-chip.processing::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: linear-gradient(90deg,
                    transparent 0%,
                    rgba(255, 255, 255, 0.18) 40%,
                    rgba(255, 255, 255, 0.28) 50%,
                    rgba(255, 255, 255, 0.18) 60%,
                    transparent 100%);
            background-size: 200% 100%;
            animation: chip-shimmer 2.4s ease-in-out infinite;
            pointer-events: none;
        }

        @keyframes chip-processing-pulse {

            0%,
            100% {
                box-shadow:
                    0 0 0 1px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.2),
                    0 0 14px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.22),
                    0 0 36px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08),
                    inset 0 1px 0 rgba(255, 255, 255, 0.10);
            }

            50% {
                box-shadow:
                    0 0 0 1px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35),
                    0 0 22px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.4),
                    0 0 56px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.18),
                    inset 0 1px 0 rgba(255, 255, 255, 0.18);
            }
        }

        @keyframes chip-shimmer {
            0% {
                background-position: 200% 0;
                opacity: 0;
            }

            20% {
                opacity: 1;
            }

            80% {
                opacity: 1;
            }

            100% {
                background-position: -200% 0;
                opacity: 0;
            }
        }

        /* progress-chip done — per-dimension colors */
        .progress-chip.done {
            color: rgba(255, 255, 255, 0.55);
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(255, 255, 255, 0.18);
        }

        .progress-chip.done[data-dim="moat"] {
            color: rgb(190, 110, 255);
            background: rgba(190, 110, 255, 0.10);
            border-color: rgba(190, 110, 255, 0.32);
            box-shadow: 0 0 12px rgba(190, 110, 255, 0.15);
        }

        .progress-chip.done[data-dim="wealth"] {
            color: rgb(255, 170, 60);
            background: rgba(255, 170, 60, 0.10);
            border-color: rgba(255, 170, 60, 0.32);
            box-shadow: 0 0 12px rgba(255, 170, 60, 0.15);
        }

        .progress-chip.done[data-dim="valuation"] {
            color: rgb(80, 210, 130);
            background: rgba(80, 210, 130, 0.10);
            border-color: rgba(80, 210, 130, 0.32);
            box-shadow: 0 0 12px rgba(80, 210, 130, 0.15);
        }

        .progress-chip.done[data-dim="peer"] {
            color: rgb(80, 165, 255);
            background: rgba(80, 165, 255, 0.10);
            border-color: rgba(80, 165, 255, 0.32);
            box-shadow: 0 0 12px rgba(80, 165, 255, 0.15);
        }

        .progress-chip.done[data-dim="ai"] {
            color: rgb(255, 90, 120);
            background: rgba(255, 90, 120, 0.10);
            border-color: rgba(255, 90, 120, 0.32);
            box-shadow: 0 0 12px rgba(255, 90, 120, 0.15);
        }

        .progress-chip.done[data-dim="capital"] {
            color: rgb(255, 210, 50);
            background: rgba(255, 210, 50, 0.10);
            border-color: rgba(255, 210, 50, 0.32);
            box-shadow: 0 0 12px rgba(255, 210, 50, 0.15);
        }

        .progress-chip.done[data-dim="alignment"] {
            color: rgb(60, 210, 200);
            background: rgba(60, 210, 200, 0.10);
            border-color: rgba(60, 210, 200, 0.32);
            box-shadow: 0 0 12px rgba(60, 210, 200, 0.15);
        }

        .progress-chip.done[data-dim="catalyst"] {
            color: rgb(255, 135, 60);
            background: rgba(255, 135, 60, 0.10);
            border-color: rgba(255, 135, 60, 0.32);
            box-shadow: 0 0 12px rgba(255, 135, 60, 0.15);
        }

        .progress-chip.done[data-dim="macro"] {
            color: rgb(160, 140, 255);
            background: rgba(160, 140, 255, 0.10);
            border-color: rgba(160, 140, 255, 0.32);
            box-shadow: 0 0 12px rgba(160, 140, 255, 0.15);
        }

        .progress-chip.done[data-dim="beta_quant"] {
            color: rgb(0, 200, 180);
            background: rgba(0, 200, 180, 0.10);
            border-color: rgba(0, 200, 180, 0.32);
            box-shadow: 0 0 12px rgba(0, 200, 180, 0.15);
        }

        .progress-chip.done[data-dim="beta_qual"] {
            color: rgb(120, 180, 255);
            background: rgba(120, 180, 255, 0.10);
            border-color: rgba(120, 180, 255, 0.32);
            box-shadow: 0 0 12px rgba(120, 180, 255, 0.15);
        }

        .progress-chip.done[data-dim="beta_gov"] {
            color: rgb(200, 160, 80);
            background: rgba(200, 160, 80, 0.10);
            border-color: rgba(200, 160, 80, 0.32);
            box-shadow: 0 0 12px rgba(200, 160, 80, 0.15);
        }

        .progress-chip.done[data-dim="beta_insider"] {
            color: rgb(220, 100, 180);
            background: rgba(220, 100, 180, 0.10);
            border-color: rgba(220, 100, 180, 0.32);
            box-shadow: 0 0 12px rgba(220, 100, 180, 0.15);
        }

        .progress-chip.done[data-dim="beta_market"] {
            color: rgb(100, 220, 140);
            background: rgba(100, 220, 140, 0.10);
            border-color: rgba(100, 220, 140, 0.32);
            box-shadow: 0 0 12px rgba(100, 220, 140, 0.15);
        }

        .queue-status {
            margin-top: 18px;
            font-size: 12px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.6);
            font-weight: 500;
        }

        .eta-status {
            margin-top: 8px;
            font-size: 12px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.55);
            font-weight: 500;
        }

        .mode-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px;
            margin-bottom: 8px;
        }

        /* Side-by-side mode + model layout */
        .mode-model-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
            align-items: start;
        }

        .mode-model-col {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .mode-model-col .section-label {
            margin-bottom: 6px;
        }

        /* Single-column grid within each col */
        .mode-grid-single {
            grid-template-columns: 1fr;
        }

        /* Expand extra button */
        .expand-extra-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 999px;
            color: rgba(255, 255, 255, 0.38);
            font-size: 9.5px;
            font-weight: 700;
            font-style: italic;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 4px 10px 4px 8px;
            cursor: pointer;
            font-family: inherit;
            transition: border-color 0.2s, color 0.2s, background 0.2s;
            margin-top: 2px;
            align-self: flex-start;
        }

        .expand-extra-btn:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.40);
            color: rgba(var(--ui-accent-rgb), 0.75);
            background: rgba(var(--ui-accent-rgb), 0.06);
        }

        .expand-extra-btn.open {
            border-color: rgba(var(--ui-accent-rgb), 0.30);
            color: rgba(var(--ui-accent-rgb), 0.70);
        }

        .expand-extra-btn.open svg {
            transform: rotate(180deg);
        }

        .expand-extra-btn svg {
            transition: transform 0.2s;
        }

        /* ── Model "What's new?" row ── */
        .model-col-footer {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 2px;
        }

        .whats-new-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: none;
            border: none;
            padding: 2px 0;
            color: rgba(var(--ui-accent-rgb), 0.50);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            cursor: pointer;
            font-family: inherit;
            transition: color 0.2s;
            flex-shrink: 0;
        }

        .whats-new-link:hover {
            color: rgba(var(--ui-accent-rgb), 0.85);
        }

        /* ── Model Changelog popup ── */
        #whats-new-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.72);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            z-index: 9200;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        #whats-new-overlay.open {
            display: flex;
        }

        #whats-new-popup {
            position: relative;
            background: rgba(11, 11, 13, 0.98);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 18px;
            padding: 0;
            max-width: 780px;
            width: 100%;
            max-height: calc(100vh - 80px);
            display: flex;
            flex-direction: column;
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.04);
            animation: qa-slide-in 0.22s ease;
            overflow: hidden;
        }

        #wn-close-btn {
            position: absolute;
            top: 14px;
            right: 16px;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.35);
            font-size: 16px;
            cursor: pointer;
            padding: 4px 8px;
            transition: color 0.2s;
            z-index: 2;
        }

        #wn-close-btn:hover {
            color: rgba(255, 255, 255, 0.75);
        }

        /* popup header */
        #wn-header {
            padding: 24px 28px 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-shrink: 0;
        }

        .wn-eyebrow {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.6);
            margin-bottom: 5px;
        }

        .wn-title {
            font-size: 19px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.92);
            letter-spacing: -0.02em;
        }

        /* scrollable table body */
        #wn-scroll-body {
            overflow-y: auto;
            flex: 1 1 auto;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
        }

        #wn-loading,
        #wn-error {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.35);
            text-align: center;
            padding: 40px 0;
        }

        #wn-error {
            color: rgba(255, 80, 80, 0.6);
        }

        /* changelog table */
        #wn-table {
            width: 100%;
            border-collapse: collapse;
        }

        #wn-table thead th {
            padding: 10px 28px;
            font-size: 9.5px;
            font-weight: 750;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.28);
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            text-align: left;
            position: sticky;
            top: 0;
            background: rgba(11, 11, 13, 0.98);
            z-index: 1;
        }

        #wn-table tbody tr {
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            transition: background 0.18s;
        }

        #wn-table tbody tr:last-child {
            border-bottom: none;
        }

        #wn-table tbody tr:hover {
            background: rgba(255, 255, 255, 0.025);
        }

        #wn-table tbody tr.wn-row-current {
            background: linear-gradient(90deg, rgba(var(--ui-accent-rgb), 0.07) 0%, transparent 100%);
            position: relative;
        }

        #wn-table tbody tr.wn-row-current td:first-child {
            border-left: 2px solid rgba(var(--ui-accent-rgb), 0.75);
        }

        #wn-table tbody td {
            padding: 18px 28px;
            font-size: 13px;
            color: rgba(255, 255, 255, 0.80);
            vertical-align: top;
            line-height: 1.65;
        }

        .wn-ver-current-badge {
            display: inline-block;
            background: rgba(var(--ui-accent-rgb), 0.12);
            color: rgba(var(--ui-accent-rgb), 0.9);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.30);
            font-size: 8.5px;
            font-weight: 800;
            padding: 2px 9px;
            border-radius: 20px;
            margin-bottom: 6px;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }

        .wn-ver-name {
            font-size: 15px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.88);
            letter-spacing: -0.01em;
        }

        .wn-ver-date {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.28);
            margin-top: 3px;
        }

        .wn-changes-cell {
            white-space: pre-wrap;
            word-break: break-word;
            color: rgba(255, 255, 255, 0.72);
            font-size: 13px;
            line-height: 1.7;
        }

        /* ── Dimension Info popup ── */
        /* Reports Browser (Refactored to XPS Pattern) */
        #rr-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.65);
            backdrop-filter: blur(40px) saturate(2);
            -webkit-backdrop-filter: blur(40px) saturate(2);
            z-index: 100000;
            opacity: 0;
            overflow: hidden;
            transition: opacity 0.3s ease;
            justify-content: center;
            align-items: center;
        }

        #rr-overlay.visible {
            display: flex !important;
            opacity: 1;
        }

        #rr-panel {
            width: 420px;
            max-width: calc(100vw - 40px);
            height: 80vh;
            max-height: 80vh;
            background: #0c0d12;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            box-shadow: 0 12px 60px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.04);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            backdrop-filter: blur(30px) saturate(1.8);
            -webkit-backdrop-filter: blur(30px) saturate(1.8);
            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
            position: relative;
        }

        /* Fullscreen / Expanded Mode */
        #rr-panel.expanded {
            width: 96vw;
            height: 92vh;
            max-width: 1400px;
            max-height: 92vh;
            border-radius: 20px;
            box-shadow: 0 40px 100px rgba(0, 0, 0, 0.9);
        }

        /* ── Panel flex layout (applies to both normal and expanded panel) ──
           The panel is already display:flex; flex-direction:column; overflow:hidden.
           filter-section fills ALL remaining height (flex:1); it is itself a flex column.
           #rr-list is the sole scroll region inside it (flex:1 + overflow-y:auto).

           All direct children of .rr-filter-section except #rr-list must be
           flex:0 0 auto (never shrink, never grow) so they consume only their
           natural height and leave the full remainder to #rr-list. Without this,
           the browser can shrink them and/or fail to allocate any height to #rr-list,
           causing the card grid to render with height:0 and appear to "overlap". */
        .rr-filter-section {
            flex: 1 1 0%;
            min-height: 0;
            overflow: hidden;
        }

        /* Every direct child of .rr-filter-section that is NOT #rr-list is a
           fixed-height item — pin it to its natural height so it never competes
           with #rr-list for flex space. */
        .rr-filter-section > .rr-filter-group,
        .rr-filter-section > #rr-active-filters,
        .rr-filter-section > #rr-list-header,
        .rr-filter-section > #rr-strong-buys,
        .rr-filter-section > #rr-compare-bar {
            flex: 0 0 auto;
            min-height: 0;
        }

        #rr-list {
            flex: 1 1 0%;
            min-height: 0;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            touch-action: pan-y;
        }

        /* ── Card view: the filter section itself becomes the scroll container.
           #rr-list becomes a plain block grid that grows to its content height
           (no flex size, no overflow clip) so the grid rows are never collapsed.
           .rr-filter-section switches from flex-column to block + overflow-y:auto
           so it provides the scroll. Filter rows above #rr-list remain natural-height
           block elements and scroll out of view as the user scrolls down. */
        #rr-panel.rr-card-view-active .rr-filter-section {
            display: block;
            overflow-y: auto;
            overflow-x: hidden;
            -webkit-overflow-scrolling: touch;
            touch-action: pan-y;
            overscroll-behavior: contain;
        }

        #rr-panel.rr-card-view-active #rr-list.rr-card-view {
            /* Override flex sizing — in block context, grid grows to content */
            flex: none;
            height: auto;
            min-height: 0;
            overflow: visible;
        }

        /* In card view, hide the list-view column-header row —
           driven by a class on #rr-panel set by the JS toggle. */
        #rr-panel.rr-card-view-active #rr-list-header {
            display: none !important;
        }

        /* Expanded list-view: keep overflow:hidden (card view overrides below) */
        #rr-panel.expanded:not(.rr-card-view-active) #rr-filter-section {
            overflow: hidden;
        }

        /* Expanded: treemap view fills remaining panel height */
        #rr-panel.expanded #rr-treemap-view.active {
            flex: 1 1 0%;
            min-height: 0;
        }

        /* Treemap mode (normal OR expanded): give panel a real height so flex children can expand */
        #rr-panel.treemap-mode {
            height: 80vh;
        }
        #rr-panel.expanded.treemap-mode {
            height: 92vh;
        }

        /* Treemap canvas: hard minimum so render doesn't bail on W/H=0 */
        #rr-panel.treemap-mode #rr-treemap-canvas {
            min-height: 300px;
        }

        /* Nav Hiding logic when Archive is active */
        .reports-archive-active #side-nav,
        .reports-archive-active #top-nav,
        .reports-archive-active .result-topnav,
        .reports-archive-active #report-nav-fixed {
            display: none !important;
        }

        /* Nav Hiding logic when Portfolio overlay is active */
        body.pf-active .report-nav,
        body.pf-active #report-nav-fixed,
        body.pf-active .result-topnav,
        body.pf-active #top-nav {
            display: none !important;
        }

        /* Scroll-lock */
        body.reports-archive-active {
            overflow: hidden;
        }

        /* ── Mobile: full-screen panel ── */
        @media (max-width: 768px) {

            /* Body lock: position:fixed stops iOS rubber-band bleed-through */
            body.reports-archive-active {
                position: fixed;
                width: 100%;
            }

            /* Overlay fills screen, panel is positioned independently */
            #rr-overlay {
                overflow: hidden;
                align-items: flex-start;
            }

            /* Panel: fixed full-screen on mobile without horizontal scrollbar bleed */
            #rr-panel.expanded {
                position: fixed !important;
                top: 0 !important;
                left: 0 !important;
                right: 0 !important;
                bottom: 0 !important;
                width: 100% !important;
                height: 100% !important;
                height: 100dvh !important;
                max-width: 100% !important;
                max-height: 100dvh !important;
                border-radius: 0 !important;
                box-sizing: border-box !important;
            }

            /* panel-header and mobile-search-bar: fixed height, never grow */
            #rr-panel.expanded #rr-panel-header,
            #rr-panel.expanded #rr-mobile-search-bar {
                flex-shrink: 0 !important;
                flex-grow: 0 !important;
            }
        }

        /* Dimension Score Badge Grid */
        .rr-scores-compact {
            display: grid !important;
            grid-template-columns: repeat(6, 1fr);
            gap: 4px !important;
            row-gap: 2px !important;
        }

        .rr-score-badge {
            font-size: 8.5px;
            font-weight: 700;
            padding: 1px 3px;
            border-radius: 3px;
            background: rgba(255, 255, 255, 0.05);
            text-align: center;
            min-width: 24px;
        }

        #dim-info-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.65);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            z-index: 9200;
            align-items: center;
            justify-content: center;
        }

        #dim-info-overlay.open {
            display: flex;
        }

        #dim-info-popup {
            position: relative;
            background: rgba(16, 16, 17, 0.97);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 28px 28px 24px;
            max-width: 520px;
            width: calc(100% - 40px);
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
            animation: qa-slide-in 0.22s ease;
        }

        #di-close-btn {
            position: absolute;
            top: 14px;
            right: 16px;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.35);
            font-size: 16px;
            cursor: pointer;
            padding: 4px 8px;
            transition: color 0.2s;
        }

        #di-close-btn:hover {
            color: rgba(255, 255, 255, 0.75);
        }

        .di-eyebrow {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.6);
            margin-bottom: 6px;
        }

        .di-title {
            font-size: 18px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.92);
            letter-spacing: -0.01em;
            margin-bottom: 18px;
        }

        .di-list {
            display: flex;
            flex-direction: column;
            gap: 14px;
            max-height: 58vh;
            overflow-y: auto;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
            padding-right: 4px;
        }

        .di-row {
            display: flex;
            gap: 12px;
            align-items: flex-start;
        }

        .di-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            flex-shrink: 0;
            margin-top: 5px;
        }

        .di-content {
            flex: 1;
            min-width: 0;
        }

        .di-name {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            margin-bottom: 3px;
        }

        .di-desc {
            font-size: 12px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.50);
        }

        /* dim info trigger link */
        .dim-info-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: none;
            border: 1px solid transparent;
            padding: 4px 2px;
            color: rgba(var(--ui-accent-rgb), 0.45);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            cursor: pointer;
            font-family: inherit;
            transition: color 0.2s;
            margin-top: 6px;
        }

        .dim-info-link:hover {
            color: rgba(var(--ui-accent-rgb), 0.80);
        }

        @media (max-width: 520px) {
            .mode-grid {
                grid-template-columns: 1fr;
            }

            .options-grid {
                grid-template-columns: 1fr 1fr;
            }

            .mode-model-row {
                grid-template-columns: 1fr;
                gap: 10px;
            }

            /* Fix checkbox card text overflow on mobile */
            .checkbox-card {
                padding: 8px;
                gap: 5px;
                min-width: 0;
            }

            .checkbox-card span {
                white-space: normal;
                word-break: break-word;
                font-size: 11px;
                line-height: 1.3;
            }

            .checkbox-card .icon-placeholder {
                width: 20px;
                height: 20px;
                flex-shrink: 0;
            }

            /* Hide disabled deliverables on mobile — non-interactive, just cause stretched orphan cards */
            #outputs-grid .checkbox-card.disabled {
                display: none;
            }
        }

        .mode-card {
            border-radius: 16px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            background: rgba(10, 10, 10, 0.38);
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            cursor: pointer;
            transition: all 0.2s ease;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
        }

        .mode-card input {
            display: none;
        }

        .mode-card .mode-title {
            font-size: 13px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: #d3dddd;
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        .mode-card .mode-tags {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            flex-wrap: wrap;
        }

        .mode-card .mode-desc {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.65);
            line-height: 1.4;
        }

        .mode-card.selected {
            border-color: rgba(255, 255, 255, 0.45);
            background: rgba(255, 255, 255, 0.05);
            box-shadow: 0 0 20px rgba(255, 255, 255, 0.05);
        }

        .mode-card.disabled {
            cursor: not-allowed;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            position: relative;
        }

        .mode-card.disabled::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: rgba(0, 0, 0, 0.28);
            pointer-events: none;
            z-index: 2;
        }

        .mode-tag {
            padding: 1px 5px;
            /* Compacted */
            border-radius: 999px;
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-weight: 800;
            background: rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.7);
            flex-shrink: 0;
            white-space: nowrap;
        }

        .checkbox-card .mode-tag {
            margin-left: auto;
        }

        .mode-tag.pro {
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: rgba(255, 255, 255, 0.85);
        }

        .mode-tag.premium {
            background: rgba(255, 255, 255, 0.12);
            border: 1px solid rgba(255, 255, 255, 0.25);
            color: rgba(255, 255, 255, 0.9);
        }

        .mode-tag.experimental {
            background: rgba(216, 188, 77, 0.12);
            border: 1px solid rgba(216, 188, 77, 0.30);
            color: rgba(216, 188, 77, 0.9);
        }

        .mode-tag.new {
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.3);
            color: #ffffff;
        }

        .mode-tag.recommended {
            background: rgba(8, 209, 129, 0.12);
            border: 1px solid rgba(8, 209, 129, 0.30);
            color: #08d181;
        }

        .mode-tag.disabled {
            background: rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.6);
        }

        .checkbox-card.disabled {
            cursor: not-allowed;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            position: relative;
        }

        .checkbox-card.disabled::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: rgba(0, 0, 0, 0.28);
            pointer-events: none;
            z-index: 2;
        }

        /* --- ADMIN OBSERVABILITY MISSION CONTROL HUD --- */
        #loading-state.admin-hud-mode {
            max-width: min(1060px, 96vw) !important;
            transition: max-width 0.4s ease;
        }

        #loading-state.admin-hud-mode .loading-layout-master {
            max-width: 100% !important;
            width: 100% !important;
        }

        #loading-state.admin-hud-mode .status-info-container,
        #loading-state.admin-hud-mode .summary-container {
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            width: 100% !important;
        }

        #loading-state.admin-hud-mode .admin-mc-container,
        .admin-mc-container {
            width: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            margin-top: 10px;
            margin-bottom: 6px;
            border-radius: 16px;
            border: 1px solid rgba(0, 240, 255, 0.25);
            background: linear-gradient(180deg, rgba(8, 16, 28, 0.85) 0%, rgba(4, 8, 16, 0.95) 100%);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 1px rgba(0, 240, 255, 0.3) inset;
            backdrop-filter: blur(24px);
            text-align: left;
            overflow: hidden;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            transition: all 0.3s ease;
        }

        .admin-mc-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px 12px;
            padding: 10px 14px;
            background: rgba(0, 240, 255, 0.05);
            border-bottom: 1px solid rgba(0, 240, 255, 0.15);
        }

        .admin-mc-title-group {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .admin-mc-pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #00f0ff;
            box-shadow: 0 0 8px #00f0ff;
            animation: admin-mc-pulse 1.8s ease-in-out infinite;
        }

        @keyframes admin-mc-pulse {
            0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 8px #00f0ff; }
            50% { opacity: 0.4; transform: scale(0.85); box-shadow: 0 0 3px #00f0ff; }
        }

        .admin-mc-title {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: #00f0ff;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .admin-mc-chip {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 10px;
            padding: 2px 7px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.85);
            letter-spacing: 0.05em;
        }

        .admin-mc-chip.interactive {
            cursor: pointer;
            transition: background 0.2s ease, border-color 0.2s ease;
        }

        .admin-mc-chip.interactive:hover {
            background: rgba(0, 240, 255, 0.15);
            border-color: rgba(0, 240, 255, 0.4);
            color: #00f0ff;
        }

        .admin-mc-actions {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
        }

        .admin-mc-btn {
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 4px 9px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.8);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            transition: all 0.2s ease;
            user-select: none;
            text-decoration: none;
        }

        .admin-mc-btn:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.3);
        }

        .admin-mc-btn-kill {
            background: rgba(255, 68, 68, 0.12);
            border-color: rgba(255, 68, 68, 0.35);
            color: #ff6b6b;
        }

        .admin-mc-btn-kill:hover {
            background: rgba(255, 68, 68, 0.25);
            border-color: #ff4444;
            color: #ffffff;
            box-shadow: 0 0 10px rgba(255, 68, 68, 0.4);
        }

        .admin-mc-btn-poll {
            background: rgba(0, 240, 255, 0.08);
            border-color: rgba(0, 240, 255, 0.3);
            color: #00f0ff;
        }

        .admin-mc-btn-poll:hover {
            background: rgba(0, 240, 255, 0.2);
            border-color: #00f0ff;
            color: #ffffff;
        }

        .admin-mc-btn-db {
            background: rgba(8, 209, 129, 0.08);
            border-color: rgba(8, 209, 129, 0.3);
            color: #08d181;
        }

        .admin-mc-btn-db:hover {
            background: rgba(8, 209, 129, 0.2);
            border-color: #08d181;
            color: #ffffff;
            box-shadow: 0 0 10px rgba(8, 209, 129, 0.35);
        }

        .admin-mc-body {
            padding: 12px 14px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            container-type: inline-size;
            container-name: mcbody;
        }

        .admin-mc-metrics {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
            gap: 8px;
        }

        .admin-mc-metric-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 8px;
            padding: 6px 10px;
        }

        .admin-mc-metric-label {
            font-size: 9px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            margin-bottom: 2px;
            font-weight: 700;
        }

        .admin-mc-metric-val {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 13px;
            font-weight: 700;
            color: #ffffff;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        /* 4-phase execution pipeline */
        .admin-mc-phases {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 10px;
            width: 100%;
            box-sizing: border-box;
        }

        @media (min-width: 980px) {
            .admin-mc-phases {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }

        @media (max-width: 979px) and (min-width: 480px) {
            .admin-mc-phases {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 479px) {
            .admin-mc-phases {
                grid-template-columns: minmax(0, 1fr);
            }
        }

        @container mcbody (min-width: 880px) {
            .admin-mc-phases {
                grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            }
        }

        @container mcbody (max-width: 879px) and (min-width: 460px) {
            .admin-mc-phases {
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            }
        }

        @container mcbody (max-width: 459px) {
            .admin-mc-phases {
                grid-template-columns: minmax(0, 1fr) !important;
            }
        }

        .admin-mc-phase-col {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 8px;
            padding: 8px;
            display: flex;
            flex-direction: column;
            gap: 6px;
            min-width: 0;
            overflow: hidden;
            box-sizing: border-box;
            transition: border-color 0.2s ease, background 0.2s ease;
        }

        .admin-mc-phase-col.phase-synthesis {
            border-color: rgba(0, 240, 255, 0.28);
            background: linear-gradient(180deg, rgba(0, 240, 255, 0.04) 0%, rgba(255, 255, 255, 0.02) 100%);
            box-shadow: 0 0 16px rgba(0, 240, 255, 0.04);
        }

        .admin-mc-phase-col.phase-synthesis .admin-mc-phase-title {
            color: #00f0ff;
            border-bottom-color: rgba(0, 240, 255, 0.2);
        }

        .admin-mc-phase-title {
            font-size: 9px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-bottom: 4px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            min-width: 0;
        }

        .admin-mc-dim-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
            font-size: 11px;
            padding: 3px 6px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid transparent;
            transition: all 0.2s ease;
            min-width: 0;
        }

        .admin-mc-dim-row.interactive {
            cursor: pointer;
        }

        .admin-mc-dim-row.interactive:hover {
            border-color: rgba(0, 240, 255, 0.35);
            background: rgba(0, 240, 255, 0.08);
        }

        .admin-mc-dim-row.running {
            background: rgba(0, 240, 255, 0.08);
            border-color: rgba(0, 240, 255, 0.3);
            color: #00f0ff;
            box-shadow: 0 0 10px rgba(0, 240, 255, 0.15);
        }

        .admin-mc-dim-row.done {
            color: rgba(255, 255, 255, 0.85);
            border-color: rgba(8, 209, 129, 0.2);
            background: rgba(8, 209, 129, 0.03);
        }

        .admin-mc-dim-row.error {
            color: #ff6b6b;
            border-color: rgba(255, 68, 68, 0.3);
            background: rgba(255, 68, 68, 0.06);
        }

        .admin-mc-dim-row.pending {
            color: rgba(255, 255, 255, 0.35);
        }

        .admin-mc-dim-name {
            display: flex;
            align-items: center;
            gap: 5px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            min-width: 0;
            flex: 1;
        }

        .admin-mc-dim-status-icon {
            font-size: 10px;
            width: 12px;
            text-align: center;
        }

        .admin-mc-dim-meta {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 9px;
            color: rgba(255, 255, 255, 0.45);
            white-space: nowrap;
        }

        /* Live Terminal Trace Stream */
        .admin-mc-terminal {
            background: rgba(0, 0, 0, 0.6);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            overflow: hidden;
        }

        .admin-mc-terminal-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 6px 10px;
            background: rgba(255, 255, 255, 0.03);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            font-size: 10px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            font-weight: 700;
        }

        .admin-mc-terminal-controls {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .admin-mc-terminal-stream {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 11px;
            line-height: 1.45;
            max-height: 220px;
            overflow-y: auto;
            padding: 6px 0;
            color: rgba(255, 255, 255, 0.8);
            background: repeating-linear-gradient(0deg, rgba(0,0,0,0.15) 0px, rgba(0,0,0,0.15) 1px, transparent 1px, transparent 2px);
        }

        .admin-mc-log-row {
            display: flex;
            align-items: baseline;
            gap: 8px;
            padding: 3px 10px;
            cursor: pointer;
            border-left: 2px solid transparent;
            transition: background 0.15s ease, border-left-color 0.15s ease;
            white-space: nowrap;
        }

        .admin-mc-log-row:hover {
            background: rgba(0, 240, 255, 0.08);
            border-left-color: #00f0ff;
        }

        .admin-mc-log-row.active {
            background: rgba(0, 240, 255, 0.12);
            border-left-color: #00f0ff;
        }

        .admin-mc-log-time {
            color: rgba(255, 255, 255, 0.35);
            font-size: 10px;
            flex-shrink: 0;
        }

        .admin-mc-log-tag {
            padding: 1px 4px;
            border-radius: 3px;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.7);
        }

        .admin-mc-log-tag.dim {
            background: rgba(147, 51, 234, 0.2);
            color: #c084fc;
        }

        .admin-mc-log-tag.ok {
            background: rgba(8, 209, 129, 0.2);
            color: #08d181;
        }

        .admin-mc-log-tag.err {
            background: rgba(255, 68, 68, 0.2);
            color: #ff6b6b;
        }

        .admin-mc-log-tag.warn {
            background: rgba(255, 170, 0, 0.2);
            color: #ffaa00;
        }

        .admin-mc-log-snippet {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: rgba(255, 255, 255, 0.65);
            font-size: 10.5px;
            flex: 1;
        }

        .admin-mc-log-row:hover .admin-mc-log-snippet {
            color: #ffffff;
        }

        .admin-mc-log-expand-icon {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.35);
            flex-shrink: 0;
        }

        /* Click to Expand Drawer */
        .admin-mc-drawer {
            margin-top: 6px;
            background: linear-gradient(180deg, rgba(8, 16, 28, 0.98) 0%, rgba(4, 9, 17, 0.98) 100%);
            border: 1px solid rgba(0, 240, 255, 0.25);
            border-radius: 10px;
            padding: 12px 14px;
            box-shadow: 0 12px 36px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(0, 240, 255, 0.15);
            font-family: var(--body-font);
            animation: admin-mc-slide-down 0.2s cubic-bezier(0.16, 1, 0.3, 1);
            backdrop-filter: blur(14px);
        }

        @keyframes admin-mc-slide-down {
            from { opacity: 0; transform: translateY(-6px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .admin-mc-drawer-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-bottom: 8px;
            margin-bottom: 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            flex-wrap: wrap;
            gap: 8px;
        }

        .admin-mc-drawer-title {
            font-family: var(--header-font);
            font-size: 12px;
            color: #00f0ff;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 6px;
            letter-spacing: 0.02em;
        }

        .admin-mc-drawer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 8px 14px;
            margin-bottom: 10px;
            font-size: 11px;
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            padding: 8px 12px;
        }

        .admin-mc-drawer-field {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .admin-mc-drawer-k {
            font-family: var(--body-font);
            font-size: 9.5px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
        }

        .admin-mc-drawer-v {
            font-family: var(--mono-font);
            font-size: 11px;
            color: #ffffff;
            word-break: break-all;
            font-variant-numeric: tabular-nums;
        }

        .admin-mc-payload-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 8px;
        }

        .admin-mc-payload-actions {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
        }

        .admin-mc-drawer-pre {
            background: rgba(1, 4, 9, 0.85);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            padding: 12px 14px;
            font-family: var(--mono-font);
            font-size: 11.5px;
            line-height: 1.58;
            color: rgba(255, 255, 255, 0.92);
            max-height: 380px;
            overflow-y: auto;
            white-space: pre-wrap;
            word-break: break-word;
            margin: 0;
            user-select: text;
            transition: max-height 0.25s ease;
            box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.6);
        }

        .admin-mc-drawer-pre.expanded {
            max-height: 650px;
        }

        .admin-mc-drawer-pre.full {
            max-height: none;
        }

        /* Mission Control Detail Drawer Tab Switcher */
        .admin-mc-drawer-tabs {
            display: flex;
            align-items: center;
            gap: 6px;
            padding-bottom: 8px;
            margin-bottom: 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            flex-wrap: wrap;
        }

        .admin-mc-dtab-btn {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 6px;
            padding: 5px 11px;
            font-size: 11px;
            font-family: var(--body-font);
            font-weight: 500;
            color: rgba(255, 255, 255, 0.7);
            cursor: pointer;
            transition: all 0.15s ease;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .admin-mc-dtab-btn:hover {
            color: #ffffff;
            border-color: rgba(0, 240, 255, 0.4);
            background: rgba(0, 240, 255, 0.08);
        }

        .admin-mc-dtab-btn.active {
            color: #00f0ff;
            border-color: #00f0ff;
            background: rgba(0, 240, 255, 0.15);
            font-weight: 600;
            box-shadow: 0 0 12px rgba(0, 240, 255, 0.2);
        }

        .admin-mc-dtab-pill {
            font-size: 8.5px;
            padding: 1px 6px;
            border-radius: 10px;
            font-weight: 700;
            letter-spacing: 0.3px;
        }

        .admin-mc-dtab-pill.ready {
            background: rgba(8, 209, 129, 0.18);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.45);
        }

        .admin-mc-dtab-pill.warning {
            background: rgba(255, 215, 0, 0.18);
            color: #ffd700;
            border: 1px solid rgba(255, 215, 0, 0.45);
        }

        .admin-mc-dtab-pill.blocker {
            background: rgba(255, 68, 68, 0.2);
            color: #ff6b6b;
            border: 1px solid rgba(255, 68, 68, 0.45);
        }

        /* Quick Diagnostic Bar in Payload Tab */
        .admin-mc-lint-quickbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 7px 10px;
            margin-bottom: 10px;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .admin-mc-lint-quickbar.ready {
            background: rgba(8, 209, 129, 0.07);
            border: 1px solid rgba(8, 209, 129, 0.25);
        }

        .admin-mc-lint-quickbar.warning {
            background: rgba(255, 215, 0, 0.08);
            border: 1px solid rgba(255, 215, 0, 0.35);
        }

        .admin-mc-lint-quickbar.blocker {
            background: rgba(255, 68, 68, 0.1);
            border: 1px solid rgba(255, 68, 68, 0.4);
        }

        .admin-mc-lint-quickbar:hover {
            filter: brightness(1.15);
            transform: translateY(-1px);
        }

        /* Schema Validator Tab Styles */
        .admin-mc-lint-banner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px;
            padding: 10px 14px;
            border-radius: 6px;
            margin-bottom: 12px;
            border-width: 1px;
            border-style: solid;
        }

        .admin-mc-lint-banner.ready {
            background: linear-gradient(90deg, rgba(8, 209, 129, 0.12) 0%, rgba(8, 209, 129, 0.03) 100%);
            border-color: rgba(8, 209, 129, 0.4);
            box-shadow: 0 0 16px rgba(8, 209, 129, 0.1);
        }

        .admin-mc-lint-banner.warning {
            background: linear-gradient(90deg, rgba(255, 215, 0, 0.14) 0%, rgba(255, 215, 0, 0.03) 100%);
            border-color: rgba(255, 215, 0, 0.45);
            box-shadow: 0 0 16px rgba(255, 215, 0, 0.1);
        }

        .admin-mc-lint-banner.blocker {
            background: linear-gradient(90deg, rgba(255, 68, 68, 0.16) 0%, rgba(255, 68, 68, 0.04) 100%);
            border-color: rgba(255, 68, 68, 0.5);
            box-shadow: 0 0 16px rgba(255, 68, 68, 0.15);
        }

        .admin-mc-lint-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            gap: 10px;
            margin-bottom: 12px;
        }

        .admin-mc-lint-card {
            background: rgba(0, 0, 0, 0.5);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            padding: 10px;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .admin-mc-lint-card-title {
            font-size: 10px;
            font-weight: 700;
            color: #00f0ff;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .admin-mc-lint-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 9.5px;
            padding: 3px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        }

        .admin-mc-lint-k {
            color: rgba(255, 255, 255, 0.5);
        }

        .admin-mc-lint-v {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-weight: 600;
        }

        .admin-mc-lint-err-snippet {
            background: rgba(255, 68, 68, 0.08);
            border: 1px solid rgba(255, 68, 68, 0.3);
            border-radius: 4px;
            padding: 6px 8px;
            font-size: 10px;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            color: #ff9999;
            overflow-x: auto;
            white-space: pre-wrap;
            margin-top: 4px;
            line-height: 1.4;
        }

        .admin-mc-lint-key-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 9.5px;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }

        .admin-mc-lint-key-table th {
            text-align: left;
            padding: 5px 6px;
            color: rgba(255, 255, 255, 0.45);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            font-weight: 600;
            text-transform: uppercase;
            font-size: 8.5px;
            letter-spacing: 0.5px;
        }

        .admin-mc-lint-key-table td {
            padding: 4px 6px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            vertical-align: middle;
        }

        .admin-mc-lint-key-table tr:hover {
            background: rgba(255, 255, 255, 0.03);
        }

        .admin-mc-lint-pill-tag {
            display: inline-block;
            padding: 1px 6px;
            border-radius: 4px;
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.2px;
        }

        .admin-mc-lint-pill-tag.present {
            background: rgba(8, 209, 129, 0.15);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.4);
        }

        .admin-mc-lint-pill-tag.missing {
            background: rgba(255, 68, 68, 0.18);
            color: #ff6b6b;
            border: 1px solid rgba(255, 68, 68, 0.4);
        }

        .admin-mc-lint-pill-tag.optional {
            background: rgba(0, 240, 255, 0.12);
            color: #00f0ff;
            border: 1px solid rgba(0, 240, 255, 0.3);
        }

        .admin-mc-lint-filter-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 8px;
            flex-wrap: wrap;
        }

        .admin-mc-lint-filter-group {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .admin-mc-lint-filter-btn {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 3px;
            padding: 2px 7px;
            font-size: 9px;
            color: rgba(255, 255, 255, 0.6);
            cursor: pointer;
            font-family: inherit;
        }

        .admin-mc-lint-filter-btn:hover {
            color: #ffffff;
            border-color: rgba(0, 240, 255, 0.4);
        }

        .admin-mc-lint-filter-btn.active {
            background: rgba(0, 240, 255, 0.15);
            border-color: #00f0ff;
            color: #00f0ff;
            font-weight: 700;
        }

        /* Fullscreen Payload Modal */
        .admin-mc-modal-overlay {
            position: fixed;
            inset: 0;
            z-index: 100000;
            background: rgba(2, 6, 14, 0.88);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px;
            animation: admin-mc-fade-in 0.2s ease;
        }

        @keyframes admin-mc-fade-in {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .admin-mc-modal-dialog {
            width: 96%;
            max-width: 1520px;
            height: 94vh;
            max-height: 980px;
            background: linear-gradient(180deg, #091322 0%, #050b14 100%);
            border: 1px solid rgba(0, 240, 255, 0.35);
            box-shadow: 0 24px 80px rgba(0, 0, 0, 0.85), 0 0 1px rgba(0, 240, 255, 0.5) inset;
            border-radius: 14px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            font-family: var(--body-font);
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .admin-mc-modal-dialog.fullscreen {
            width: 100vw !important;
            max-width: 100vw !important;
            height: 100vh !important;
            max-height: 100vh !important;
            border-radius: 0 !important;
            border: none !important;
            box-shadow: none !important;
        }

        .admin-mc-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 18px;
            background: rgba(0, 240, 255, 0.05);
            border-bottom: 1px solid rgba(0, 240, 255, 0.15);
            flex-wrap: wrap;
            gap: 8px 14px;
            font-family: var(--body-font);
        }

        .admin-mc-modal-title {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--header-font);
            font-size: 13px;
            font-weight: 700;
            color: #00f0ff;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .admin-mc-modal-view-tabs {
            display: flex;
            align-items: center;
            background: rgba(0, 0, 0, 0.45);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 6px;
            padding: 2px;
            gap: 2px;
        }

        .admin-mc-tab-btn {
            background: transparent;
            border: none;
            border-radius: 4px;
            padding: 4px 9px;
            font-size: 10.5px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.65);
            font-family: var(--body-font);
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .admin-mc-tab-btn:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
        }

        .admin-mc-tab-btn.active {
            color: #00f0ff;
            background: rgba(0, 240, 255, 0.18);
            font-weight: 700;
        }

        .admin-mc-modal-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 18px;
            background: rgba(255, 255, 255, 0.02);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-wrap: wrap;
            gap: 8px;
            font-family: var(--body-font);
        }

        .admin-mc-search-match-chip {
            font-family: var(--mono-font);
            font-size: 10px;
            padding: 2px 7px;
            border-radius: 4px;
            background: rgba(0, 240, 255, 0.15);
            color: #00f0ff;
            border: 1px solid rgba(0, 240, 255, 0.3);
        }

        .admin-mc-modal-body {
            flex: 1;
            padding: 12px 18px;
            overflow-y: auto;
            background: #02060c;
            display: flex;
            flex-direction: column;
            min-height: 0;
            font-family: var(--body-font);
        }

        .admin-mc-diff-banner {
            display: flex;
            align-items: center;
            justify-content: space-around;
            gap: 10px;
            flex-wrap: wrap;
            padding: 8px 14px;
            margin-bottom: 10px;
            background: rgba(0, 240, 255, 0.05);
            border: 1px solid rgba(0, 240, 255, 0.2);
            border-radius: 8px;
            font-size: 11px;
            color: #ffffff;
            flex-shrink: 0;
            font-family: var(--body-font);
        }

        .admin-mc-diff-stat-v {
            font-family: var(--mono-font);
            font-variant-numeric: tabular-nums;
            font-weight: 700;
        }

        .admin-mc-diff-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            flex: 1;
            min-height: 0;
            box-sizing: border-box;
            transition: grid-template-columns 0.2s ease;
        }

        .admin-mc-diff-grid.view-prompt {
            grid-template-columns: 1fr !important;
        }
        .admin-mc-diff-grid.view-prompt .admin-mc-response-pane {
            display: none !important;
        }

        .admin-mc-diff-grid.view-response {
            grid-template-columns: 1fr !important;
        }
        .admin-mc-diff-grid.view-response .admin-mc-prompt-pane {
            display: none !important;
        }

        @media (max-width: 900px) {
            .admin-mc-diff-grid {
                grid-template-columns: 1fr !important;
                gap: 14px;
            }
        }

        .admin-mc-diff-pane {
            display: flex;
            flex-direction: column;
            background: #030813;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            overflow: hidden;
            min-width: 0;
            height: 100%;
            min-height: 0;
            box-sizing: border-box;
        }

        .admin-mc-diff-pane.admin-mc-prompt-pane {
            border-left: 2px solid #00f0ff;
        }

        .admin-mc-diff-pane.admin-mc-response-pane {
            border-left: 2px solid #08d181;
        }

        .admin-mc-pane-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 14px;
            background: rgba(255, 255, 255, 0.03);
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            font-size: 11px;
            font-weight: 700;
            font-family: var(--body-font);
            flex-shrink: 0;
            gap: 6px;
        }

        .admin-mc-pane-content {
            flex: 1;
            overflow-y: auto;
            padding: 12px 16px;
            min-height: 0;
        }

        .admin-mc-pane-content::-webkit-scrollbar,
        .admin-mc-drawer-pre::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }

        .admin-mc-pane-content::-webkit-scrollbar-thumb,
        .admin-mc-drawer-pre::-webkit-scrollbar-thumb {
            background: rgba(0, 240, 255, 0.25);
            border-radius: 3px;
        }

        .admin-mc-pane-content::-webkit-scrollbar-thumb:hover,
        .admin-mc-drawer-pre::-webkit-scrollbar-thumb:hover {
            background: rgba(0, 240, 255, 0.55);
        }

        .admin-mc-sys-box {
            margin: 8px 12px 0;
            background: rgba(0, 240, 255, 0.04);
            border: 1px solid rgba(0, 240, 255, 0.2);
            border-radius: 6px;
            overflow: hidden;
            flex-shrink: 0;
        }

        .admin-mc-sys-header {
            padding: 6px 10px;
            font-size: 10px;
            font-weight: 700;
            color: #00f0ff;
            font-family: var(--body-font);
            display: flex;
            align-items: center;
            justify-content: space-between;
            cursor: pointer;
            background: rgba(0, 240, 255, 0.06);
            user-select: none;
        }

        .admin-mc-sys-header:hover {
            background: rgba(0, 240, 255, 0.12);
        }

        .admin-mc-sys-code {
            margin: 0;
            padding: 10px 12px;
            font-family: var(--mono-font);
            font-size: 11px;
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.88);
            background: rgba(0, 0, 0, 0.65);
            white-space: pre-wrap;
            word-break: break-word;
            max-height: 180px;
            overflow-y: auto;
            border-top: 1px solid rgba(0, 240, 255, 0.15);
        }

        .admin-mc-modal-code {
            margin: 0;
            font-family: var(--mono-font);
            font-size: 12px;
            line-height: 1.62;
            color: #e2e8f0;
            white-space: pre-wrap;
            word-break: break-word;
            tab-size: 2;
            user-select: text;
        }

        .admin-mc-btn.copied-flash {
            background: rgba(8, 209, 129, 0.25) !important;
            border-color: #08d181 !important;
            color: #08d181 !important;
        }

        /* ── Spent Tokens & Compute Financials Hero Grid ── */
        .admin-mc-token-hero {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
            gap: 8px;
            padding: 10px 14px;
            background: rgba(0, 240, 255, 0.035);
            border: 1px solid rgba(0, 240, 255, 0.15);
            border-radius: 10px;
        }

        .admin-mc-token-hero-card {
            background: rgba(0, 0, 0, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 8px 10px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .amth-label {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.5);
            text-transform: uppercase;
            margin-bottom: 3px;
        }

        .amth-val {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: -0.02em;
            color: #ffffff;
            line-height: 1.2;
        }

        .amth-sub {
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.45);
            margin-top: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        /* ── Mission Control Timeline Scrubber & Replay Bar ── */
        .admin-mc-scrubber-container {
            margin: 10px 0;
            padding: 10px 14px;
            background: linear-gradient(180deg, rgba(3, 12, 26, 0.95) 0%, rgba(2, 6, 14, 0.98) 100%);
            border: 1px solid rgba(0, 240, 255, 0.25);
            border-radius: 10px;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(0, 240, 255, 0.15);
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .admin-mc-scrubber-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px;
            font-size: 11px;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }

        .admin-mc-scrubber-actions {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
        }

        .admin-mc-scrubber-track-wrap {
            position: relative;
            width: 100%;
            padding: 6px 0 2px 0;
        }

        .admin-mc-range-slider {
            -webkit-appearance: none;
            appearance: none;
            width: 100%;
            height: 6px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.12);
            outline: none;
            cursor: pointer;
            transition: background 0.15s ease;
        }

        .admin-mc-range-slider::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: #00f0ff;
            cursor: pointer;
            box-shadow: 0 0 10px #00f0ff, 0 0 2px #ffffff inset;
            border: 1px solid #ffffff;
            transition: transform 0.1s ease, box-shadow 0.1s ease;
        }

        .admin-mc-range-slider::-webkit-slider-thumb:hover {
            transform: scale(1.2);
            box-shadow: 0 0 14px #00f0ff, 0 0 4px #ffffff inset;
        }

        .admin-mc-range-slider::-moz-range-thumb {
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: #00f0ff;
            cursor: pointer;
            box-shadow: 0 0 10px #00f0ff;
            border: 1px solid #ffffff;
        }

        .admin-mc-scrubber-markers {
            position: relative;
            width: 100%;
            height: 14px;
            margin-top: 4px;
        }

        .admin-mc-scrub-marker {
            position: absolute;
            top: 0;
            transform: translateX(-50%);
            font-size: 8px;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            color: rgba(255, 255, 255, 0.45);
            cursor: pointer;
            white-space: nowrap;
            user-select: none;
            transition: color 0.15s ease;
        }

        .admin-mc-scrub-marker:hover {
            color: #00f0ff;
        }

        .admin-mc-scrub-marker::before {
            content: '';
            display: block;
            width: 2px;
            height: 4px;
            background: rgba(0, 240, 255, 0.35);
            margin: 0 auto 2px auto;
            border-radius: 1px;
        }

        /* ── Retry Diff Viewer Highlighting ── */
        .admin-mc-retry-view {
            display: flex;
            flex-direction: column;
            gap: 10px;
            flex: 1;
            min-height: 0;
        }

        .admin-mc-retry-banner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px 14px;
            padding: 8px 12px;
            background: rgba(255, 170, 0, 0.08);
            border: 1px solid rgba(255, 170, 0, 0.3);
            border-radius: 8px;
            font-size: 11px;
            color: #ffffff;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }

        .admin-mc-retry-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            flex: 1;
            min-height: 0;
        }

        @media (max-width: 900px) {
            .admin-mc-retry-grid {
                grid-template-columns: 1fr;
            }
        }

        .admin-mc-diff-container {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 11px;
            line-height: 1.5;
            background: #020712;
            border-radius: 6px;
            overflow-y: auto;
            max-height: 100%;
            height: 100%;
            padding: 6px 0;
            user-select: text;
        }

        .diff-line {
            display: flex;
            align-items: flex-start;
            padding: 1px 8px;
            white-space: pre-wrap;
            word-break: break-all;
            min-height: 18px;
        }

        .diff-line-num {
            width: 38px;
            flex-shrink: 0;
            color: rgba(255, 255, 255, 0.25);
            font-size: 10px;
            user-select: none;
            text-align: right;
            padding-right: 8px;
        }

        .diff-line-marker {
            width: 14px;
            flex-shrink: 0;
            font-weight: 700;
            user-select: none;
        }

        .diff-line-text {
            flex: 1;
        }

        .diff-line.diff-del {
            background: rgba(255, 68, 68, 0.16);
            border-left: 3px solid #ff4444;
            color: #ffb4b4;
        }

        .diff-line.diff-del .diff-line-marker {
            color: #ff4444;
        }

        .diff-line.diff-add {
            background: rgba(8, 209, 129, 0.16);
            border-left: 3px solid #08d181;
            color: #bbf7d0;
        }

        .diff-line.diff-add .diff-line-marker {
            color: #08d181;
        }

        .diff-word-del {
            background: rgba(255, 68, 68, 0.42);
            color: #ffffff;
            border-radius: 2px;
            padding: 0 2px;
            font-weight: 600;
        }

        .diff-word-add {
            background: rgba(8, 209, 129, 0.42);
            color: #ffffff;
            border-radius: 2px;
            padding: 0 2px;
            font-weight: 600;
        }

        /* ── Token Cost & Margin Calculator ── */
        .admin-mc-calculator-view {
            display: flex;
            flex-direction: column;
            gap: 12px;
            overflow-y: auto;
            flex: 1;
            padding: 4px;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }

        .admin-mc-calc-hero-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 10px;
        }

        .admin-mc-calc-card {
            background: linear-gradient(180deg, rgba(8, 24, 46, 0.7) 0%, rgba(4, 12, 24, 0.85) 100%);
            border: 1px solid rgba(0, 240, 255, 0.2);
            border-radius: 8px;
            padding: 10px 12px;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .amcc-label {
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.55);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .amcc-val {
            font-size: 17px;
            font-weight: 800;
            color: #ffffff;
        }

        .amcc-sub {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.45);
        }

        .admin-mc-calc-section {
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 12px;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .admin-mc-calc-section-title {
            font-size: 11px;
            font-weight: 700;
            color: #00f0ff;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .admin-mc-cost-bar-wrap {
            height: 10px;
            width: 100%;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 5px;
            overflow: hidden;
            display: flex;
        }

        .admin-mc-cost-bar-prompt {
            background: #00f0ff;
            height: 100%;
            transition: width 0.3s ease;
        }

        .admin-mc-cost-bar-response {
            background: #08d181;
            height: 100%;
            transition: width 0.3s ease;
        }

        .admin-mc-cost-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 10px;
            margin-top: 6px;
        }

        .admin-mc-cost-table th {
            text-align: left;
            padding: 5px 8px;
            color: rgba(255, 255, 255, 0.5);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            font-weight: 600;
            text-transform: uppercase;
            font-size: 8.5px;
        }

        .admin-mc-cost-table td {
            padding: 5px 8px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.85);
        }

        .admin-mc-cost-table tr:hover td {
            background: rgba(0, 240, 255, 0.04);
        }

        /* ── Report View Admin Metadata Strip ── */
        .report-admin-metadata-strip {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px 16px;
            margin: 14px 0 18px 0;
            padding: 10px 16px;
            background: linear-gradient(90deg, rgba(0, 240, 255, 0.09) 0%, rgba(8, 16, 28, 0.90) 40%, rgba(8, 16, 28, 0.96) 100%);
            border: 1px solid rgba(0, 240, 255, 0.35);
            border-radius: 12px;
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(0, 240, 255, 0.25);
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            color: #ffffff;
        }

        .rams-left {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px 14px;
        }

        .rams-badge {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.12em;
            color: #00f0ff;
            text-transform: uppercase;
        }

        .rams-pulse {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #00f0ff;
            box-shadow: 0 0 6px #00f0ff;
            animation: admin-mc-pulse 1.8s ease-in-out infinite;
        }

        .rams-chip {
            font-family: ui-monospace, SFMono-Regular, monospace;
            font-size: 10px;
            padding: 2px 7px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 4px;
            color: rgba(255, 255, 255, 0.85);
            letter-spacing: 0.04em;
        }

        .rams-chip.interactive {
            cursor: pointer;
            transition: all 0.15s ease;
        }

        .rams-chip.interactive:hover {
            border-color: #00f0ff;
            color: #00f0ff;
            box-shadow: 0 0 8px rgba(0, 240, 255, 0.3);
        }

        .rams-stat {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.88);
            font-family: ui-monospace, SFMono-Regular, monospace;
        }

        .rams-k {
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.45);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-right: 3px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        }

        .rams-right {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
        }

        .admin-telemetry-btn {
            border: 1px solid rgba(0, 240, 255, 0.4) !important;
            background: rgba(0, 240, 255, 0.08) !important;
            color: #00f0ff !important;
        }

        .admin-telemetry-btn:hover {
            background: rgba(0, 240, 255, 0.22) !important;
            box-shadow: 0 0 12px rgba(0, 240, 255, 0.4) !important;
            color: #ffffff !important;
        }

        /* ── Report Mission Control Modal ── */
        .report-admin-mc-modal-overlay {
            position: fixed;
            inset: 0;
            z-index: 100000;
            background: rgba(3, 6, 12, 0.88);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px;
            animation: admin-mc-fade-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .report-admin-mc-modal-dialog {
            width: 100%;
            max-width: 1260px;
            max-height: 94vh;
            background: linear-gradient(180deg, #091322 0%, #050b14 100%);
            border: 1px solid rgba(0, 240, 255, 0.35);
            border-radius: 16px;
            box-shadow: 0 24px 80px rgba(0, 0, 0, 0.85), 0 0 1px rgba(0, 240, 255, 0.5) inset;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        }

        .report-admin-mc-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 16px;
            background: rgba(0, 240, 255, 0.06);
            border-bottom: 1px solid rgba(0, 240, 255, 0.18);
            flex-wrap: wrap;
            gap: 8px 12px;
        }

        .report-admin-mc-modal-body {
            flex: 1 1 auto;
            overflow-y: auto;
            overflow-x: hidden;
            padding: 14px 16px;
        }

        .did-you-know {
            padding: 10px 14px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(255, 255, 255, 0.02);
            text-align: left;
            margin: 10px 0 12px;
            box-sizing: border-box;
            backdrop-filter: blur(12px);
            font-family: var(--body-font);
        }

        .did-you-know-label {
            font-size: 10px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 5px;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font);
        }

        .did-you-know-label::before {
            content: '';
            display: inline-block;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--ui-accent);
            box-shadow: 0 0 6px rgba(var(--ui-accent-rgb, 0, 240, 255), 0.6);
        }

        .did-you-know-quote {
            font-size: 12px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.72);
            min-height: 0;
            transition: opacity 0.4s ease;
            font-weight: 400;
        }

        /* ── IN-FLIGHT DIMENSION METHODOLOGY BRIEFING CARD ────────────────── */
        .dim-insight {
            /* --dim-insight-c set dynamically by JS to active dimension's RGB */
            --dim-insight-c: var(--ui-accent-rgb, 176, 176, 176);
            margin: 12px 0 14px;
            padding: 14px 16px 12px;
            border-radius: 12px;
            border: 1px solid rgba(var(--dim-insight-c), 0.35);
            background: rgba(12, 12, 16, 0.92);
            text-align: left;
            transition: border-color 0.4s ease, box-shadow 0.4s ease, background 0.4s ease;
            position: relative;
            overflow: hidden;
            box-sizing: border-box;
            backdrop-filter: blur(20px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 24px rgba(var(--dim-insight-c), 0.12);
        }

        .dim-insight.active {
            border-color: rgba(var(--dim-insight-c), 0.55);
            box-shadow:
                0 0 0 1px rgba(var(--dim-insight-c), 0.18),
                0 10px 30px rgba(0, 0, 0, 0.6),
                0 0 28px rgba(var(--dim-insight-c), 0.18),
                inset 0 1px 0 rgba(255, 255, 255, 0.10);
            animation: insight-breathe 3.5s ease-in-out infinite;
        }

        /* Luminous animated left-edge bar */
        .dim-insight.active::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 3.5px;
            border-radius: 12px 0 0 12px;
            background: linear-gradient(180deg,
                    transparent 0%,
                    rgba(var(--dim-insight-c), 0.85) 30%,
                    rgba(var(--dim-insight-c), 1) 50%,
                    rgba(var(--dim-insight-c), 0.85) 70%,
                    transparent 100%);
            animation: insight-bar-scan 2.6s ease-in-out infinite;
        }

        /* Subtle shimmer overlay */
        .dim-insight.active::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(105deg,
                    transparent 25%,
                    rgba(var(--dim-insight-c), 0.05) 50%,
                    transparent 75%);
            background-size: 200% 100%;
            animation: insight-shimmer 4s ease-in-out infinite;
            pointer-events: none;
        }

        @keyframes insight-breathe {
            0%, 100% {
                box-shadow:
                    0 0 0 1px rgba(var(--dim-insight-c), 0.12),
                    0 6px 20px rgba(0, 0, 0, 0.5),
                    0 0 18px rgba(var(--dim-insight-c), 0.12),
                    inset 0 1px 0 rgba(255, 255, 255, 0.08);
            }
            50% {
                box-shadow:
                    0 0 0 1px rgba(var(--dim-insight-c), 0.25),
                    0 10px 32px rgba(0, 0, 0, 0.65),
                    0 0 32px rgba(var(--dim-insight-c), 0.24),
                    inset 0 1px 0 rgba(255, 255, 255, 0.12);
            }
        }

        @keyframes insight-bar-scan {
            0%, 100% {
                opacity: 0.5;
                transform: scaleY(0.7);
            }
            50% {
                opacity: 1.0;
                transform: scaleY(1.0);
            }
        }

        @keyframes insight-shimmer {
            0% {
                background-position: 200% 0;
            }
            100% {
                background-position: -200% 0;
            }
        }

        /* Eyebrow row */
        .dim-insight-eyebrow {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            flex-wrap: wrap;
            margin-bottom: 10px;
            font-family: var(--mono-font);
            font-size: 9.5px;
            letter-spacing: 0.10em;
            text-transform: uppercase;
        }

        .dim-insight-kicker-group {
            display: flex;
            align-items: center;
            gap: 6px;
            color: rgba(255, 255, 255, 0.45);
        }

        .dim-insight-pulse-indicator {
            color: rgb(var(--dim-insight-c));
            font-size: 8px;
            animation: dtPulse 1.6s infinite;
        }

        .dim-insight-kicker {
            color: rgba(255, 255, 255, 0.7);
            font-weight: 700;
        }

        .dim-insight-sep {
            opacity: 0.3;
        }

        .dim-insight-framework {
            color: rgba(255, 255, 255, 0.4);
        }

        .dim-insight-status-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 2px 7px;
            border-radius: 4px;
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgb(var(--dim-insight-c));
            background: rgba(var(--dim-insight-c), 0.12);
            border: 1px solid rgba(var(--dim-insight-c), 0.35);
            white-space: nowrap;
        }

        .dim-insight-pulse-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgb(var(--dim-insight-c));
            box-shadow: 0 0 6px rgb(var(--dim-insight-c));
            animation: mini-tag-processing-pulse 1.4s ease-in-out infinite;
        }

        /* Header row: Avatar + Title & Persona + Model Badge */
        .dim-insight-header-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 12px;
        }

        .dim-insight-left {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: 0;
            flex: 1;
        }

        .dim-insight-avatar {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: rgba(var(--dim-insight-c), 0.14);
            border: 1px solid rgba(var(--dim-insight-c), 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(var(--dim-insight-c));
            flex-shrink: 0;
            box-shadow: 0 0 10px rgba(var(--dim-insight-c), 0.18);
        }

        .dim-insight-avatar svg {
            width: 16px;
            height: 16px;
        }

        .dim-insight-meta {
            display: flex;
            flex-direction: column;
            gap: 2px;
            min-width: 0;
        }

        .dim-insight-dimname {
            font-family: var(--header-font);
            font-size: 13px;
            font-weight: 700;
            color: #ffffff;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            line-height: 1.2;
        }

        .dim-insight-persona {
            font-family: var(--body-font);
            font-size: 11px;
            color: rgba(255, 255, 255, 0.65);
            line-height: 1.3;
        }

        .dim-insight-persona strong {
            color: #ffffff;
            font-weight: 600;
        }

        .dim-insight-model-badge {
            font-family: var(--mono-font);
            font-size: 9.5px;
            letter-spacing: 0.05em;
            color: rgba(255, 255, 255, 0.55);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 4px;
            padding: 3px 8px;
            white-space: nowrap;
        }

        /* Body Card */
        .dim-insight-body-card {
            background: rgba(0, 0, 0, 0.40);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-left: 2.5px solid rgb(var(--dim-insight-c));
            border-radius: 8px;
            padding: 12px 14px;
            position: relative;
            overflow: hidden;
        }

        .dim-insight-quote-mark {
            position: absolute;
            right: 10px;
            bottom: -10px;
            font-size: 52px;
            line-height: 1;
            font-family: Georgia, serif;
            color: rgba(var(--dim-insight-c), 0.08);
            pointer-events: none;
            user-select: none;
        }

        .dim-insight-body {
            font-family: var(--body-font);
            font-size: 12.5px;
            line-height: 1.62;
            color: rgba(255, 255, 255, 0.88);
            transition: opacity 0.35s ease;
            position: relative;
            z-index: 1;
        }

        /* Footer row */
        .dim-insight-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 10px;
            padding-top: 8px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            font-family: var(--mono-font);
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.42);
            letter-spacing: 0.04em;
        }

        .dim-insight-footer-rotator {
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .dim-insight-footer-audit {
            color: rgb(var(--dim-insight-c));
            font-weight: 700;
        }

        /* ══════════════════════════════════════════════════════════════════════
           ENGAGING LOADING SUITE: WIRE, SNAPSHOT, RIGOR, TEASERS & SQUAD MODAL
           ══════════════════════════════════════════════════════════════════════ */

        /* ── 1. Top Controls Bar ─────────────────────────────────────────────── */
        .loading-quick-controls {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin: 0;
            flex-wrap: wrap;
        }

        .lqc-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            height: 32px;
            min-height: 32px;
            padding: 0 12px;
            border-radius: 8px;
            font-size: 11px;
            font-family: var(--mono-font, monospace);
            font-weight: 600;
            letter-spacing: 0.04em;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.85);
            cursor: pointer;
            transition: all 0.2s ease;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            position: relative;
            box-sizing: border-box;
        }

        .lqc-btn::after {
            content: '';
            position: absolute;
            top: -6px; bottom: -6px; left: -6px; right: -6px;
        }

        .lqc-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.25);
            color: #ffffff;
            transform: translateY(-1px);
        }

        .lqc-btn:active {
            transform: translateY(0);
        }

        /* Subtle audio chime toggle */
        .lqc-sound-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            height: 32px;
            min-height: 32px;
            padding: 0 10px;
            border-radius: 8px;
            font-size: 11px;
            font-family: var(--mono-font, monospace);
            font-weight: 600;
            letter-spacing: 0.04em;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.85);
            cursor: pointer;
            transition: all 0.2s ease;
            position: relative;
            user-select: none;
            outline: none;
            box-sizing: border-box;
        }

        .lqc-sound-btn::after {
            content: '';
            position: absolute;
            top: -6px; bottom: -6px; left: -6px; right: -6px;
        }

        .lqc-sound-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.25);
            color: #ffffff;
        }

        .lqc-sound-btn.is-active {
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
            color: #ffffff;
        }

        .lqc-sound-btn.is-active #lqc-sound-icon {
            color: var(--ui-accent, #B0B0B0);
            opacity: 0.9;
        }

        .lqc-sound-btn:not(.is-active) {
            color: rgba(255, 255, 255, 0.4);
            border-color: rgba(255, 255, 255, 0.08);
            background: rgba(255, 255, 255, 0.02);
        }

        .lqc-sound-btn:not(.is-active) #lqc-sound-icon {
            opacity: 0.4;
        }

        /* ── 2. The Bloomberg Wire Ticker Tape ───────────────────────────────── */
        .xray-bloomberg-wire {
            width: 100%;
            max-width: 100%;
            margin: 0 0 12px;
            background: rgba(0, 0, 0, 0.45);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 22px;
            padding: 7px 14px;
            box-sizing: border-box;
            overflow: hidden;
            position: relative;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        .xray-bloomberg-wire::before,
        .xray-bloomberg-wire::after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            width: 32px;
            z-index: 2;
            pointer-events: none;
        }

        .xray-bloomberg-wire::before {
            left: 0;
            background: linear-gradient(90deg, rgba(8, 12, 18, 0.95), transparent);
        }

        .xray-bloomberg-wire::after {
            right: 0;
            background: linear-gradient(270deg, rgba(8, 12, 18, 0.95), transparent);
        }

        .xbw-track {
            display: inline-flex;
            white-space: nowrap;
            will-change: transform;
            animation: xbw-scroll 45s linear infinite;
            gap: 28px;
        }

        .xray-bloomberg-wire:hover .xbw-track {
            animation-play-state: paused;
        }

        @keyframes xbw-scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        .xbw-item {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 11px;
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: 0.02em;
        }

        .xbw-label {
            color: rgba(255, 255, 255, 0.45);
            font-size: 9.5px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .xbw-val {
            font-weight: 700;
            color: #ffffff;
        }

        .xbw-val.green { color: #08d181; }
        .xbw-val.cyan { color: #00f0ff; }
        .xbw-val.gold { color: #ffd700; }
        .xbw-val.purple { color: #be6eff; }

        .xbw-sep {
            color: rgba(255, 255, 255, 0.15);
            font-size: 10px;
            margin: 0 4px;
        }

        /* ── 3. Forensic Vital Signs Snapshot Card ───────────────────────────── */
        .forensic-vital-card {
            width: 100%;
            max-width: 100%;
            margin: 12px 0 6px;
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.82) 0%, rgba(8, 8, 10, 0.90) 100%);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 14px;
            padding: 14px 18px;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            box-sizing: border-box;
            text-align: left;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.06);
            animation: fvc-fade-in 0.4s ease-out;
            transition: all 0.3s ease;
        }

        @keyframes fvc-fade-in {
            from { opacity: 0; transform: translateY(6px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .fvc-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 12px;
            padding-bottom: 9px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            flex-wrap: wrap;
            gap: 8px;
        }

        .fvc-title-group {
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .fvc-pulse {
            color: #00f0ff;
            font-size: 9px;
            animation: fvc-pulse 2s infinite ease-in-out;
        }

        @keyframes fvc-pulse {
            0%, 100% { opacity: 0.3; transform: scale(0.9); }
            50% { opacity: 1; transform: scale(1.15); }
        }

        .fvc-heading {
            font-family: var(--mono-font, 'Courier New', monospace);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.6);
            text-transform: uppercase;
        }

        .fvc-ticker-badge {
            background: rgba(0, 240, 255, 0.14);
            color: #00f0ff;
            border: 1px solid rgba(0, 240, 255, 0.35);
            padding: 2px 7px;
            border-radius: 4px;
            font-family: var(--mono-font, monospace);
            font-weight: 700;
            font-size: 11px;
            letter-spacing: 0.06em;
        }

        .fvc-exchange-badge {
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.65);
            border: 1px solid rgba(255, 255, 255, 0.10);
            padding: 2px 6px;
            border-radius: 4px;
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
        }

        .fvc-sector-tag {
            font-size: 10.5px;
            color: #ffd700;
            font-weight: 600;
            letter-spacing: 0.04em;
            font-family: var(--mono-font, monospace);
        }

        .fvc-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
            gap: 8px;
            margin-bottom: 10px;
        }

        .fvc-stat-box {
            background: rgba(0, 0, 0, 0.40);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 8px;
            padding: 7px 10px;
        }

        .fvc-stat-label {
            font-size: 8.5px;
            color: rgba(255, 255, 255, 0.45);
            text-transform: uppercase;
            font-family: var(--mono-font, monospace);
            letter-spacing: 0.06em;
            margin-bottom: 2px;
        }

        .fvc-stat-val {
            font-size: 12.5px;
            font-weight: 700;
            color: #ffffff;
            font-family: var(--mono-font, monospace);
        }

        .fvc-footer {
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.55);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            flex-wrap: wrap;
        }

        .fvc-pill {
            font-family: var(--mono-font, monospace);
            font-size: 8.5px;
            padding: 2px 6px;
            border-radius: 10px;
            background: rgba(8, 209, 129, 0.12);
            border: 1px solid rgba(8, 209, 129, 0.3);
            color: #08d181;
            font-weight: 700;
            letter-spacing: 0.06em;
        }

        /* ── 4. Financial Modeling Rigor Theater ─────────────────────────────── */
        .rigor-theater-badge {
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: #00f0ff;
            text-transform: uppercase;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            line-height: 1.3;
            padding: 3px 9px;
            background: rgba(0, 240, 255, 0.08);
            border: 1px solid rgba(0, 240, 255, 0.22);
            border-radius: 4px;
        }

        .rigor-micro-action {
            margin-top: 2px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            font-family: var(--mono-font);
            font-size: 11px;
            color: rgba(255, 255, 255, 0.88);
            min-height: 20px;
            line-height: 1.4;
            max-width: 100%;
        }

        .rigor-label {
            color: #ffd700;
            font-weight: 700;
            font-size: 10px;
            letter-spacing: 0.08em;
            flex-shrink: 0;
            text-transform: uppercase;
        }

        .rigor-text {
            color: rgba(255, 255, 255, 0.88);
            transition: opacity 0.25s ease;
            text-align: center;
        }

        .rigor-cursor {
            color: #00f0ff;
            font-weight: 700;
            animation: rigor-blink 0.85s infinite;
            flex-shrink: 0;
            display: inline-block;
        }

        @keyframes rigor-blink {
            0%, 100% { opacity: 1; }
            50% { opacity: 0; }
        }

        @media (max-width: 600px) {
            .status-log-container {
                padding: 8px 12px;
                min-height: 60px;
            }
            .rigor-theater-badge {
                font-size: 9px;
                letter-spacing: 0.08em;
                text-align: center;
            }
            .rigor-micro-action {
                font-size: 10px;
                flex-wrap: wrap;
                text-align: center;
            }
        }

        /* ── 5. Live Research Feed (rail + featured finding) ───────────────── */
        .lrf {
            width: 100%;
            max-width: 100%;
            margin: 18px 0 8px;
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.82), rgba(8, 8, 10, 0.82));
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 16px;
            padding: 14px 16px 16px;
            box-sizing: border-box;
            text-align: left;
            box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
        }

        .lrf-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 14px;
            flex-wrap: wrap;
        }

        .lrf-title {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--mono-font, monospace);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.14em;
            color: #ffffff;
            text-transform: uppercase;
        }

        .lrf-pulse {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--score-4, #08d181);
            box-shadow: 0 0 8px var(--score-4, #08d181);
            animation: fvc-pulse 2s infinite ease-in-out;
        }

        .lrf-count {
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            font-weight: 700;
            padding: 3px 9px;
            border-radius: 10px;
            color: var(--ui-accent, #B0B0B0);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25);
            letter-spacing: 0.06em;
        }

        .lrf-body {
            display: grid;
            grid-template-columns: 210px minmax(0, 1fr);
            gap: 16px;
            align-items: stretch;
            flex: 1 1 auto;
        }

        .lrf-rail {
            display: flex;
            flex-direction: column;
            gap: 5px;
            max-height: 380px;
            overflow-y: auto;
            padding-right: 4px;
            overscroll-behavior: contain;
        }

        .lrf-chip {
            display: flex;
            align-items: center;
            gap: 8px;
            width: 100%;
            min-height: 36px;
            padding: 6px 10px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            background: rgba(255, 255, 255, 0.025);
            color: rgba(255, 255, 255, 0.55);
            font-family: var(--mono-font, monospace);
            font-size: 10.5px;
            text-align: left;
            cursor: pointer;
            box-sizing: border-box;
            transition: all 0.2s ease;
        }

        .lrf-chip:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.85);
        }

        .lrf-chip.is-done { color: rgba(255, 255, 255, 0.92); }
        .lrf-chip.is-running { color: #ffffff; border-color: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.4); }

        .lrf-chip.is-selected {
            background: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.12);
            border-color: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.45);
        }

        .lrf-chip-dot {
            flex: 0 0 8px;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.18);
            transition: background 0.3s;
        }

        .lrf-chip.is-done .lrf-chip-dot { background: rgb(var(--dt-color, 8, 209, 129)); box-shadow: 0 0 6px rgba(var(--dt-color, 8, 209, 129), 0.4); }
        .lrf-chip.is-running .lrf-chip-dot {
            background: rgb(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)));
            box-shadow: 0 0 8px rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.6);
            animation: fvc-pulse 1.4s infinite ease-in-out;
        }

        .lrf-chip-name {
            flex: 1 1 auto;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .lrf-chip-time {
            flex: 0 0 auto;
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.4);
        }

        .lrf-stage {
            min-height: 280px;
            border-radius: 14px;
            border: 1px solid rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.22);
            border-left: 3px solid rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.85);
            background: rgba(255, 255, 255, 0.02);
            padding: 18px 20px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            gap: 12px;
            transition: border-color 0.3s ease, background 0.3s ease;
        }

        .lrf-stage-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
        }

        .lrf-stage-id {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
        }

        .lrf-stage-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.14);
            color: rgb(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)));
            border: 1px solid rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.3);
            flex: 0 0 32px;
        }

        .lrf-stage-name {
            font-family: var(--header-font, sans-serif);
            font-size: 13px;
            font-weight: 750;
            color: #ffffff;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .lrf-stage-persona {
            font-family: var(--mono-font, monospace);
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.6);
        }

        .lrf-stage-status {
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.08em;
            padding: 3px 10px;
            border-radius: 6px;
            color: var(--score-4, #08d181);
            border: 1px solid rgba(8, 209, 129, 0.35);
            background: rgba(8, 209, 129, 0.1);
            white-space: nowrap;
        }

        .lrf-stage-status.is-running {
            color: rgb(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)));
            border-color: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.4);
            background: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.1);
        }

        .lrf-headline {
            font-size: 13.5px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.92);
            font-family: var(--body-font, sans-serif);
            margin: 0;
        }

        .lrf-headline.is-pending {
            color: rgba(255, 255, 255, 0.65);
            font-size: 12.5px;
            line-height: 1.55;
        }

        .lrf-metrics {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .lrf-metric {
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            font-weight: 700;
            padding: 3px 9px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.85);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .lrf-metric.is-pass { color: var(--verdict-buy, #08d181); border-color: rgba(8, 209, 129, 0.35); background: rgba(8, 209, 129, 0.1); }
        .lrf-metric.is-fail { color: var(--score-1, #ff4444); border-color: rgba(255, 68, 68, 0.35); background: rgba(255, 68, 68, 0.1); }

        .lrf-actions {
            display: flex;
            gap: 8px;
            margin-top: auto;
            padding-top: 10px;
            flex-wrap: wrap;
        }

        .lrf-btn {
            min-height: 34px;
            padding: 0 14px;
            border-radius: 8px;
            font-family: var(--mono-font, monospace);
            font-size: 10.5px;
            font-weight: 700;
            letter-spacing: 0.05em;
            cursor: pointer;
            color: #ffffff;
            background: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.14);
            border: 1px solid rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.4);
            transition: all 0.2s ease;
            box-sizing: border-box;
        }

        .lrf-btn:hover {
            background: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.25);
            border-color: rgba(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)), 0.65);
            transform: translateY(-1px);
        }

        .lrf-btn.is-ghost {
            background: rgba(255, 255, 255, 0.03);
            border-color: rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.82);
        }

        .lrf-btn.is-ghost:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.28);
            color: #ffffff;
        }

        .lrf-btn[disabled] { opacity: 0.4; cursor: not-allowed; }

        /* ── Rich Empty State & In-Flight Methodology for LRF ── */
        .lrf-empty-state {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 24px 16px;
            gap: 14px;
            min-height: 240px;
            box-sizing: border-box;
            animation: erFadeIn 0.3s ease;
        }

        .lrf-empty-radar-wrap {
            position: relative;
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .lrf-empty-radar-halo {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.04);
            animation: fvc-pulse 2.2s infinite ease-in-out;
        }

        .lrf-empty-radar-scan {
            position: absolute;
            inset: 6px;
            border-radius: 50%;
            border: 1px dashed rgba(var(--ui-accent-rgb, 176, 176, 176), 0.4);
            animation: spin 8s linear infinite;
        }

        .lrf-empty-radar-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--ui-accent, #B0B0B0);
            box-shadow: 0 0 10px var(--ui-accent, #B0B0B0);
        }

        .lrf-empty-badge {
            display: inline-block;
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            color: var(--ui-accent, #B0B0B0);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.2);
            padding: 3px 8px;
            border-radius: 4px;
            margin-bottom: 4px;
        }

        .lrf-empty-title {
            font-family: var(--header-font, sans-serif);
            font-size: 13px;
            font-weight: 750;
            letter-spacing: 0.05em;
            color: #ffffff;
            margin-bottom: 4px;
        }

        .lrf-empty-desc {
            font-family: var(--body-font, sans-serif);
            font-size: 11.5px;
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.55);
            max-width: 440px;
            margin: 0 auto 6px;
        }

        .lrf-empty-pips {
            display: flex;
            flex-direction: column;
            gap: 6px;
            width: 100%;
            max-width: 420px;
            text-align: left;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 8px;
            padding: 8px 12px;
            box-sizing: border-box;
        }

        .lrf-empty-pip-row {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            color: rgba(255, 255, 255, 0.65);
        }

        .lrf-pip-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.25);
            flex-shrink: 0;
        }

        .lrf-pip-dot.pulse {
            background: var(--ui-accent, #B0B0B0);
            box-shadow: 0 0 6px var(--ui-accent, #B0B0B0);
            animation: fvc-pulse 1.6s infinite ease-in-out;
        }

        .lrf-empty-note {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.4);
            margin-top: 4px;
        }

        .lrf-in-flight-card {
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 8px 0;
        }

        .lrf-in-flight-header {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.1em;
            color: rgb(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)));
        }

        .lrf-in-flight-pulse {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: rgb(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)));
            box-shadow: 0 0 8px rgb(var(--dt-color, var(--ui-accent-rgb, 176, 176, 176)));
            animation: fvc-pulse 1.4s infinite ease-in-out;
        }

        .lrf-in-flight-meta {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-top: 4px;
        }

        .lrf-in-flight-tag {
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            padding: 3px 8px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.6);
        }

        @media (max-width: 720px) {
            .lrf-body { grid-template-columns: minmax(0, 1fr); }
            .lrf-rail {
                flex-direction: row;
                max-height: none;
                overflow-x: auto;
                overflow-y: hidden;
                padding-bottom: 6px;
                gap: 6px;
            }
            .lrf-chip { width: auto; flex: 0 0 auto; min-height: 44px; }
            .lrf-chip-time { display: none; }
            .lrf-btn { min-height: 44px; flex: 1 1 auto; }
        }

        body.xr-modal-open { overflow: hidden; }
        /* ── Live Dimension Teaser Modal Formatted Content ── */
        .dtm-content {
            font-size: 13px;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.88);
            font-family: var(--body-font);
        }

        .dtm-content p {
            margin: 0 0 10px 0;
            line-height: 1.7;
        }

        .dtm-content strong {
            color: #ffffff;
            font-weight: 700;
        }

        .dtm-heading {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--header-font);
            font-size: 13px;
            font-weight: 700;
            color: #ffffff;
            margin: 18px 0 8px 0;
            padding-bottom: 6px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            letter-spacing: 0.02em;
        }

        .dtm-heading:first-child {
            margin-top: 0;
        }

        .dtm-heading-num {
            font-family: var(--mono-font);
            font-size: 10px;
            padding: 1px 6px;
            border-radius: 3px;
            background: rgba(var(--dt-color, 0, 240, 255), 0.15);
            color: rgb(var(--dt-color, 0, 240, 255));
            border: 1px solid rgba(var(--dt-color, 0, 240, 255), 0.3);
        }

        .dtm-list {
            margin: 6px 0 12px 0;
            padding: 0;
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .dtm-list-item {
            position: relative;
            padding-left: 18px;
            font-size: 12.5px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.8);
        }

        .dtm-list-item::before {
            content: '';
            position: absolute;
            left: 3px;
            top: 8px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgba(var(--dt-color, 0, 240, 255), 0.7);
            box-shadow: 0 0 6px rgba(var(--dt-color, 0, 240, 255), 0.4);
        }

        .dtm-kv-row {
            display: flex;
            align-items: baseline;
            gap: 6px;
            margin: 5px 0;
            font-size: 12.5px;
        }

        .dtm-kv-key {
            font-family: var(--mono-font);
            font-size: 10.5px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.6);
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .dtm-kv-val {
            color: rgba(255, 255, 255, 0.95);
        }

        .dtm-table-row {
            display: flex;
            gap: 12px;
            padding: 6px 10px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.06);
            margin: 4px 0;
            font-family: var(--mono-font);
            font-size: 11.5px;
            overflow-x: auto;
        }

        .dtm-table-cell {
            flex: 1;
            min-width: 80px;
            color: rgba(255, 255, 255, 0.85);
        }

        .dtm-stats { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 4px; }
        .dtm-stat {
            font-family: var(--mono-font);
            font-size: 10.5px;
            font-weight: 700;
            padding: 3px 10px;
            border-radius: 6px;
            color: rgba(255, 255, 255, 0.85);
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }
        .dtm-stat.is-pass { color: var(--verdict-buy); border-color: rgba(8, 209, 129, 0.35); background: rgba(8, 209, 129, 0.1); }
        .dtm-stat.is-fail { color: var(--score-1); border-color: rgba(255, 46, 46, 0.35); background: rgba(255, 46, 46, 0.1); }
        .dtm-sig-list { display: flex; flex-direction: column; gap: 4px; }
        .dtm-sig-row {
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr) auto;
            align-items: center;
            gap: 10px;
            padding: 7px 10px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.06);
            font-size: 12px;
        }
        .dtm-sig-pill {
            font-family: var(--mono-font);
            font-size: 9.5px;
            font-weight: 700;
            text-align: center;
            padding: 2px 0;
            border-radius: 4px;
            color: rgba(255, 255, 255, 0.7);
            background: rgba(255, 255, 255, 0.08);
        }
        .dtm-sig-pill.is-pass { color: var(--verdict-buy); background: rgba(8, 209, 129, 0.14); }
        .dtm-sig-pill.is-fail { color: var(--score-1); background: rgba(255, 46, 46, 0.14); }
        .dtm-sig-label { color: rgba(255, 255, 255, 0.9); overflow-wrap: anywhere; }
        .dtm-sig-tier { font-family: var(--mono-font); font-size: 9px; color: rgba(255, 255, 255, 0.45); letter-spacing: 0.05em; }

        /* ── 6. Interactive "Meet the Dimension Analysts" Modal ──────────────── */
        .analysts-modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(5, 7, 12, 0.85);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            z-index: 100000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 16px;
            animation: modal-fade 0.25s ease-out;
            box-sizing: border-box;
        }

        .analysts-modal-dialog {
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.98) 0%, rgba(8, 8, 10, 0.98) 100%);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 20px;
            max-width: min(1180px, 95vw);
            width: 100%;
            height: min(88vh, 880px);
            max-height: 88vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 32px 90px rgba(0, 0, 0, 0.9), 0 0 50px rgba(0, 240, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.08);
            overflow: hidden;
            box-sizing: border-box;
            font-family: var(--body-font);
            position: relative;
        }

        .analysts-modal-header {
            padding: 16px 24px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: rgba(255, 255, 255, 0.02);
            flex-wrap: wrap;
            gap: 10px;
        }

        .analysts-modal-title {
            display: flex;
            align-items: center;
            gap: 10px;
            font-family: var(--header-font);
            font-size: 13px;
            font-weight: 700;
            color: #ffffff;
            letter-spacing: 0.10em;
            text-transform: uppercase;
        }

        .analysts-modal-tabs {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 12px 24px;
            background: rgba(0, 0, 0, 0.35);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-wrap: wrap;
        }

        .am-tab-btn {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.65);
            border-radius: 6px;
            padding: 6px 14px;
            font-size: 11px;
            font-family: var(--mono-font);
            letter-spacing: 0.04em;
            cursor: pointer;
            transition: all 0.2s ease;
            user-select: none;
        }

        .am-tab-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.2);
        }

        .am-tab-btn.active {
            background: rgba(var(--ui-accent-rgb), 0.14);
            border-color: rgba(var(--ui-accent-rgb), 0.5);
            color: var(--ui-accent);
            font-weight: 700;
            box-shadow: 0 0 14px rgba(var(--ui-accent-rgb), 0.15);
        }

        .analysts-modal-body {
            padding: 22px 24px 30px;
            overflow-y: auto;
            overscroll-behavior: contain;
            flex: 1 1 0%;
            min-height: 0;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 16px;
            align-content: start;
            grid-auto-rows: max-content;
            -webkit-overflow-scrolling: touch;
        }

        .analysts-modal-body::-webkit-scrollbar {
            width: 7px;
        }
        .analysts-modal-body::-webkit-scrollbar-track {
            background: rgba(0, 0, 0, 0.3);
            border-radius: 4px;
        }
        .analysts-modal-body::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.2);
            border-radius: 4px;
        }
        .analysts-modal-body::-webkit-scrollbar-thumb:hover {
            background: rgba(0, 240, 255, 0.5);
        }

        .analyst-card {
            background: linear-gradient(180deg, rgba(14, 14, 18, 0.75) 0%, rgba(8, 8, 10, 0.90) 100%);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 18px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            transition: all 0.25s ease;
            position: relative;
            overflow: hidden;
            font-family: var(--body-font);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            box-sizing: border-box;
            height: auto;
            min-height: min-content;
            align-self: start;
        }

        .analyst-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(90deg, transparent, rgba(var(--ui-accent-rgb), 0.6), transparent);
            opacity: 0.6;
            transition: opacity 0.3s ease;
        }

        .analyst-card:hover {
            background: linear-gradient(180deg, rgba(18, 18, 24, 0.85) 0%, rgba(12, 12, 16, 0.95) 100%);
            border-color: rgba(var(--ac-color, var(--ui-accent-rgb)), 0.5);
            box-shadow: 0 0 24px rgba(var(--ac-color, var(--ui-accent-rgb)), 0.16);
        }

        .analyst-card:hover::before {
            opacity: 1;
        }

        .analyst-card.highlighted {
            border-color: var(--ui-accent);
            box-shadow: 0 0 24px rgba(var(--ui-accent-rgb), 0.35);
            background: rgba(var(--ui-accent-rgb), 0.06);
        }

        .ac-header {
            display: flex;
            align-items: flex-start;
            gap: 12px;
        }

        .ac-avatar {
            width: 42px;
            height: 42px;
            border-radius: 10px;
            background: rgba(var(--ac-color, 0, 240, 255), 0.12);
            border: 1px solid rgba(var(--ac-color, 0, 240, 255), 0.35);
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(var(--ac-color, 0, 240, 255));
            flex-shrink: 0;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
        }

        .ac-avatar svg {
            width: 20px;
            height: 20px;
        }

        .ac-name-group {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .ac-role-chip {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            padding: 2px 7px;
            border-radius: 4px;
            background: rgba(var(--ac-color, 0, 240, 255), 0.12);
            border: 1px solid rgba(var(--ac-color, 0, 240, 255), 0.3);
            color: rgb(var(--ac-color, 0, 240, 255));
            display: inline-flex;
            align-items: center;
            width: fit-content;
            max-width: 100%;
            line-height: 1.3;
        }

        .ac-name {
            font-family: var(--header-font);
            font-size: 15px;
            font-weight: 700;
            color: #ffffff;
            letter-spacing: -0.01em;
            line-height: 1.25;
            margin: 1px 0 0;
        }

        .ac-persona-line {
            font-family: var(--body-font);
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.6);
            display: flex;
            align-items: baseline;
            gap: 4px;
            flex-wrap: wrap;
            line-height: 1.4;
        }

        .ac-persona-label {
            font-family: var(--mono-font);
            font-size: 9px;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.4);
            text-transform: uppercase;
        }

        .ac-persona-line strong {
            color: rgba(255, 255, 255, 0.95);
            font-weight: 600;
        }

        .ac-philosophy {
            font-family: var(--body-font);
            font-size: 12px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.78);
            padding: 10px 12px;
            background: rgba(0, 0, 0, 0.3);
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.04);
        }

        .ac-frameworks {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-top: auto;
            padding-top: 4px;
        }

        .ac-frameworks-label {
            font-family: var(--mono-font);
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
            text-transform: uppercase;
            margin-bottom: 2px;
        }

        .ac-frameworks-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
        }

        .ac-framework-tag {
            font-family: var(--mono-font);
            font-size: 9.5px;
            font-weight: 500;
            letter-spacing: 0.02em;
            padding: 3px 8px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.85);
            transition: all 0.2s ease;
        }

        .ac-framework-tag:hover {
            background: rgba(var(--ac-color, 0, 240, 255), 0.1);
            border-color: rgba(var(--ac-color, 0, 240, 255), 0.35);
            color: #ffffff;
        }

        .ac-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            font-size: 10px;
            font-family: var(--mono-font);
            letter-spacing: 0.05em;
            text-transform: uppercase;
            gap: 8px;
        }

        .ac-footer-model {
            color: rgba(255, 255, 255, 0.45);
            display: flex;
            align-items: center;
            gap: 5px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .ac-model-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: #08d181;
            box-shadow: 0 0 6px #08d181;
            flex-shrink: 0;
        }

        .ac-footer-spec {
            font-weight: 700;
            color: rgb(var(--ac-color, 0, 240, 255));
            white-space: nowrap;
        }

        @media (max-width: 640px) {
            .analysts-modal-dialog {
                max-height: 94vh;
                height: 94vh;
                border-radius: 14px;
            }
            .analysts-modal-header {
                padding: 12px 16px;
            }
            .analysts-modal-tabs {
                padding: 8px 12px;
                gap: 5px;
            }
            .am-tab-btn {
                padding: 4px 9px;
                font-size: 10px;
            }
            .analysts-modal-body {
                padding: 14px 12px 20px;
                grid-template-columns: 1fr;
                gap: 12px;
            }
        }

        .dt-avatar-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 16px;
            color: rgb(var(--dt-color, 0, 240, 255));
            flex-shrink: 0;
        }

        .dt-avatar-icon svg {
            width: 13px;
            height: 13px;
        }

        .dt-analyzing-chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 9.5px;
            color: #ffd700;
            font-family: var(--mono-font);
            font-weight: 700;
            letter-spacing: 0.04em;
        }

        .dt-pulse-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: #ffd700;
            box-shadow: 0 0 6px #ffd700;
            animation: dt-pulse 1.2s infinite ease-in-out;
        }

        @keyframes dt-pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: 0.3; transform: scale(0.7); }
        }

        .company-progress-group {
            padding: 10px 14px;
            border-radius: 14px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(255, 255, 255, 0.03);
        }

        .company-progress-title {
            font-size: 11px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 8px;
        }

        .company-dashboard {
            margin-bottom: 48px;
            text-align: left;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            padding-bottom: 40px;
        }

        .report-content-wrapper {
            max-width: 1050px;
            margin: 0 auto;
            position: relative;
            width: 100%;
        }

        .dashboard-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 20px;
            flex-wrap: wrap;
            gap: 16px;
        }

        .company-title h2 {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 34px;
            font-weight: 800;
            letter-spacing: -0.03em;
            margin: 0;
            color: #ffffff;
            line-height: 1.1;
        }

        .action-bar {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            align-items: center;
        }

        .action-chip {
            padding: 5px 13px;
            border-radius: 20px;
            background: rgba(255, 255, 255, 0.04);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.65);
            text-decoration: none;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: none;
        }

        .action-chip:hover {
            background: rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.9);
            border-color: rgba(255, 255, 255, 0.2);
            transform: translateY(-1px);
            box-shadow: none;
        }

        .verdict-row {
            display: flex;
            flex-direction: column;
            gap: 24px;
            margin-bottom: 24px;
        }

        /* Stack vertically on all screens per user request */
        @media (min-width: 900px) {
            .verdict-row {
                flex-direction: column;
            }
        }

        /* ── Quantitative Metrics Architecture & Institutional Bento Grid ── */
        .metrics-section {
            background: rgba(14, 16, 22, 0.72);
            backdrop-filter: blur(28px);
            -webkit-backdrop-filter: blur(28px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: var(--card-radius, 16px);
            padding: 24px;
            display: flex;
            flex-direction: column;
            gap: 18px;
            margin-bottom: 24px;
            position: relative;
            overflow: hidden;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.07),
                0 12px 40px rgba(0, 0, 0, 0.45);
        }

        .metrics-section::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background-image: var(--noise-url);
            background-size: 160px 160px;
            opacity: 0.35;
            pointer-events: none;
            mix-blend-mode: overlay;
        }

        /* Section Header Bar */
        .metrics-section-header {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 16px;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            flex-wrap: wrap;
            position: relative;
            z-index: 1;
        }

        .msh-left {
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
        }

        .msh-protocol-tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--ui-accent, #B0B0B0);
        }

        .msh-pulse {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--ui-accent, #B0B0B0);
            box-shadow: 0 0 6px var(--ui-accent, #B0B0B0);
        }

        .msh-title-row {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .msh-title {
            font-family: var(--header-font, sans-serif);
            font-size: 15px;
            font-weight: 800;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.92);
            margin: 0;
        }

        .msh-count-badge {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.06em;
            padding: 2px 7px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.50);
        }

        .msh-right {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-shrink: 0;
        }

        .msh-currency-tag {
            font-family: var(--mono-font, monospace);
            font-size: 9.5px;
            font-weight: 600;
            letter-spacing: 0.05em;
            padding: 3px 9px;
            border-radius: 5px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.07);
            color: rgba(255, 255, 255, 0.45);
        }

        /* ── Core Vitals Horizontal Ribbon (100% Full Width, 0 Gaps) ── */
        .metrics-vitals-strip {
            display: flex;
            align-items: stretch;
            background: rgba(9, 11, 15, 0.75);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 16px rgba(0, 0, 0, 0.35);
            position: relative;
            z-index: 1;
        }

        .mv-vital-cell {
            flex: 1 1 0;
            min-width: 0;
            padding: 13px 18px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 4px;
            border-right: 1px solid rgba(255, 255, 255, 0.07);
            background: transparent;
            transition: background 0.18s ease;
            cursor: help;
        }

        .mv-vital-cell:last-child {
            border-right: none;
        }

        .mv-vital-cell:hover {
            background: rgba(255, 255, 255, 0.035);
        }

        .mv-vital-label {
            font-family: var(--header-font, sans-serif);
            font-size: 9.5px;
            font-weight: 750;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.42);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mv-vital-val-row {
            display: flex;
            align-items: baseline;
            gap: 6px;
        }

        .mv-vital-val {
            font-family: var(--mono-font, monospace);
            font-size: 20px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.02em;
            line-height: 1.1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* ── Symmetrical Bento Grid (Zero Empty Space) ── */
        .metrics-bento-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 14px;
            position: relative;
            z-index: 1;
        }

        /* Row 1: 3 cards, each spans 2 columns (2 + 2 + 2 = 6, 100% full width) */
        .metrics-bento-card:nth-child(1),
        .metrics-bento-card:nth-child(2),
        .metrics-bento-card:nth-child(3) {
            grid-column: span 2;
        }

        /* Row 2: 2 cards, each spans 3 columns (3 + 3 = 6, 100% full width) */
        .metrics-bento-card:nth-child(4),
        .metrics-bento-card:nth-child(5) {
            grid-column: span 3;
        }

        .metrics-bento-card {
            background: rgba(10, 12, 17, 0.68);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 12px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .metrics-bento-card:hover {
            border-color: rgba(255, 255, 255, 0.15);
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        .mbc-header {
            padding: 11px 16px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            background: rgba(255, 255, 255, 0.02);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .mbc-header-left {
            display: flex;
            align-items: center;
            gap: 8px;
            min-width: 0;
        }

        .mbc-header-left svg {
            flex-shrink: 0;
            color: var(--ui-accent, #B0B0B0);
            opacity: 0.85;
        }

        .mbc-title {
            font-family: var(--header-font, sans-serif);
            font-size: 11.5px;
            font-weight: 750;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.90);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* ── Inside Bento Card Cell Grid ── */
        .mbc-body {
            display: grid;
            flex: 1;
            margin: 0;
            padding: 0;
            background: rgba(255, 255, 255, 0.035);
            gap: 1px;
        }

        .mbc-body--2col {
            grid-template-columns: repeat(2, 1fr);
        }

        .mbc-body--3col {
            grid-template-columns: repeat(3, 1fr);
        }

        .mbc-cell {
            padding: 11px 14px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 3px;
            background: rgba(10, 12, 17, 0.94);
            transition: background 0.15s ease;
            cursor: help;
            min-width: 0;
        }

        .mbc-cell:hover {
            background: rgba(255, 255, 255, 0.045);
        }

        .mbc-label {
            font-family: var(--header-font, sans-serif);
            font-size: 9px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.44);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mbc-value {
            font-family: var(--mono-font, monospace);
            font-size: 14px;
            font-weight: 750;
            color: #ffffff;
            letter-spacing: -0.01em;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* ── Responsive Behavior ── */
        @media (max-width: 1100px) {
            .metrics-bento-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .metrics-bento-card:nth-child(1),
            .metrics-bento-card:nth-child(2),
            .metrics-bento-card:nth-child(3),
            .metrics-bento-card:nth-child(4) {
                grid-column: span 1;
            }
            .metrics-bento-card:nth-child(5) {
                grid-column: span 2;
            }
            .mbc-body--3col {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 760px) {
            .metrics-section {
                padding: 16px;
                gap: 14px;
            }
            .metrics-vitals-strip {
                flex-wrap: wrap;
            }
            .mv-vital-cell {
                flex: 1 1 45%;
                min-width: 135px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            }
            .metrics-bento-grid {
                grid-template-columns: 1fr;
            }
            .metrics-bento-card {
                grid-column: span 1 !important;
            }
            .mbc-body--3col {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        /* Section heading above dimension grid */
        .report-section-label {
            font-family: var(--header-font);
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: rgba(255, 255, 255, 0.28);
            margin: 32px 0 16px 0;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .report-section-label::after {
            content: '';
            flex: 1;
            height: 1px;
            background: rgba(255, 255, 255, 0.06);
        }

        .metric-card {
            background: rgba(10, 10, 12, 0.78);
            backdrop-filter: blur(40px);
            -webkit-backdrop-filter: blur(40px);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 12px;
            padding: 8px 6px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.2s, box-shadow 0.25s;
            cursor: help;
            position: relative;
            overflow: hidden;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.09),
                0 4px 16px rgba(0, 0, 0, 0.45);
        }

        .metric-card::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 140px 140px;
            opacity: 0.45;
            pointer-events: none;
            mix-blend-mode: overlay;
        }

        .metric-card:hover {
            border-color: rgba(255, 255, 255, 0.25);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
        }

        .metric-na {
            opacity: 0.4;
        }

        /* ── Custom Tooltips — JS-driven body-level (escapes overflow clipping) ── */
        .custom-tooltip-target {
            cursor: default;
        }

        #xray-tooltip {
            position: fixed;
            z-index: 99999;
            background: rgba(8, 8, 14, 0.97);
            color: rgba(255, 255, 255, 0.92);
            padding: 9px 13px;
            border-radius: 9px;
            font-size: 11px;
            white-space: pre-wrap;
            max-width: 280px;
            border: 1px solid rgba(255, 255, 255, 0.14);
            box-shadow: 0 6px 24px rgba(0, 0, 0, 0.6), 0 1px 0 rgba(255, 255, 255, 0.05) inset;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.15s ease, transform 0.15s ease;
            transform: translateY(4px);
            text-align: left;
            line-height: 1.45;
            font-family: var(--body-font);
            font-weight: 500;
            letter-spacing: 0.01em;
            text-transform: none;
        }

        #xray-tooltip.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .metric-title {
            font-size: 10px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.8);
            text-transform: uppercase;
            letter-spacing: 0.08em;
            margin-bottom: 3px;
            overflow: auto;
            text-overflow: ellipsis;
            white-space: pre-wrap;
            max-width: 100%;
        }

        .metric-value {
            font-family: var(--display-font);
            font-size: 12px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.01em;
        }

        .metric-val-pos {
            color: #08d181 !important;
        }

        .metric-val-neg {
            color: #ff5252 !important;
        }

        .verdict-banner,
        .asymmetry-box {
            /* Concrete slab: dark, textured, no glow */
            background: #060606;
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: var(--card-radius);
            padding: 28px 32px;
            display: flex;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            gap: 4px;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.07),
                inset 0 -1px 0 rgba(0, 0, 0, 0.5),
                0 1px 3px rgba(0, 0, 0, 0.6),
                0 8px 32px rgba(0, 0, 0, 0.3);
        }

        /* Concrete noise grain */
        .verdict-banner::before,
        .asymmetry-box::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background-image: var(--noise-url);
            background-size: 180px 180px;
            opacity: 0.5;
            pointer-events: none;
            mix-blend-mode: overlay;
        }

        /* Silver top-edge highlight */
        .verdict-banner::after,
        .asymmetry-box::after {
            content: '';
            position: absolute;
            top: 0;
            left: 12%;
            right: 12%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);
            pointer-events: none;
        }

        @keyframes verdictBannerGlow {

            0%,
            100% {
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 8px 32px rgba(0, 0, 0, 0.3);
            }
        }

        .verdict-banner {
            flex: 2;
            min-width: 320px;
        }

        .asymmetry-box {
            flex: 1;
            min-width: 280px;
        }

        .verdict-rating {
            font-family: "SF Pro Display", var(--header-font), sans-serif;
            font-size: 52px;
            font-weight: 900;
            letter-spacing: -0.03em;
            text-transform: uppercase;
            position: relative;
            top: auto;
            right: auto;
            pointer-events: none;
            opacity: 1;
            line-height: 1;
        }

        /* ── Composite Score Panel ── */
        .composite-score-panel {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 16px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 16px;
            overflow: hidden;
            width: 100%;
            padding: 24px 20px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.30), inset 0 1px 0 rgba(255, 255, 255, 0.06);
        }

        /* ── X-RAY PREDICTIVE SYNTHESIS TREE™ ── */
        .composite-score-panel {
            position: relative;
            background: rgba(18, 20, 26, 0.72) !important;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 20px !important;
            padding: 26px 28px !important;
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.40), inset 0 1px 0 rgba(255, 255, 255, 0.06);
            margin-bottom: 24px;
            overflow: hidden;
        }

        .xps-tree-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 20px;
            flex-wrap: wrap;
            padding-bottom: 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
        }

        .xps-tree-header-left {
            display: flex;
            flex-direction: column;
            gap: 4px;
            max-width: 580px;
        }

        .xps-tree-eyebrow,
        .xps-eyebrow {
            display: flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font);
            font-size: 8.5px;
            font-weight: 800;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--ui-accent);
        }

        .xps-tree-pulse {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--ui-accent);
            box-shadow: 0 0 8px var(--ui-accent);
            animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }

        .xps-tree-brand,
        .xps-brand-name {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .xps-tree-title,
        .xps-brand-text {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 21px;
            font-weight: 900;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.92);
        }

        .xps-tree-sub {
            font-size: 11.5px;
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.45);
            font-family: var(--body-font);
            margin-top: 2px;
        }

        .xps-tree-header-right {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 16px;
            flex-wrap: wrap;
        }

        .xps-header-control-group {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 4px;
        }

        .xps-preset-nav-label {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
        }

        .composite-preset-row {
            display: flex;
            gap: 4px;
            background: rgba(0, 0, 0, 0.35);
            padding: 3px;
            border-radius: 9px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            flex-wrap: wrap;
        }

        .composite-preset-btn {
            font-family: var(--header-font);
            font-size: 9.5px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 5px 10px;
            border-radius: 6px;
            background: transparent;
            border: 1px solid transparent;
            color: rgba(255, 255, 255, 0.50);
            cursor: pointer;
            transition: all 0.18s ease;
            white-space: nowrap;
        }

        .composite-preset-btn:hover {
            color: rgba(255, 255, 255, 0.85);
            background: rgba(255, 255, 255, 0.05);
        }

        .composite-preset-btn.active {
            background: rgba(var(--ui-accent-rgb), 0.14);
            color: #fff;
            border-color: rgba(var(--ui-accent-rgb), 0.35);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
        }

        /* ── Density View Mode Toggle ── */
        .xps-view-toggle-row {
            display: flex;
            gap: 3px;
            background: rgba(0, 0, 0, 0.35);
            padding: 3px;
            border-radius: 9px;
            border: 1px solid rgba(255, 255, 255, 0.06);
        }

        .xps-view-toggle-btn {
            font-family: var(--header-font);
            font-size: 8.5px;
            font-weight: 800;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            padding: 5px 9px;
            border-radius: 6px;
            background: transparent;
            border: 1px solid transparent;
            color: rgba(255, 255, 255, 0.45);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            transition: all 0.18s ease;
            white-space: nowrap;
        }

        .xps-view-toggle-btn:hover {
            color: rgba(255, 255, 255, 0.85);
            background: rgba(255, 255, 255, 0.05);
        }

        .xps-view-toggle-btn.active {
            background: rgba(var(--ui-accent-rgb), 0.16);
            color: #ffffff;
            border-color: rgba(var(--ui-accent-rgb), 0.35);
        }

        .xps-version-badge {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.10em;
            background: rgba(var(--ui-accent-rgb), 0.12);
            color: rgba(var(--ui-accent-rgb), 0.80);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.25);
            border-radius: 4px;
            padding: 2px 6px;
            white-space: nowrap;
            vertical-align: middle;
        }

        .xps-tm {
            font-size: 7px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.22);
            letter-spacing: 0;
            vertical-align: super;
            line-height: 1;
            flex-shrink: 0;
        }

        .xps-info-btn {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.13);
            color: rgba(255, 255, 255, 0.45);
            font-size: 11px;
            font-weight: 700;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: background 0.15s, color 0.15s, border-color 0.15s;
            flex-shrink: 0;
            font-family: Georgia, serif;
            line-height: 1;
            margin-left: 2px;
        }

        .xps-info-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.15);
            border-color: rgba(var(--ui-accent-rgb), 0.35);
            color: rgba(var(--ui-accent-rgb), 0.90);
        }

        /* ── Horizontal 3-Tier Convergence Tree Layout ── */
        .xps-tree-body {
            display: grid;
            grid-template-columns: minmax(360px, 1.35fr) minmax(230px, 0.90fr) minmax(260px, 0.95fr);
            gap: 32px;
            position: relative;
            margin-top: 20px;
            align-items: stretch;
        }

        .xps-tree-svg-canvas {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 1;
            overflow: visible;
        }

        /* ── SVG Directed Tree Connector Traces & Animated Pulse Currents ── */
        .xps-tree-branch-path {
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
            transition: stroke 0.22s ease, stroke-width 0.22s ease, opacity 0.22s ease, filter 0.22s ease;
        }

        .xps-tree-branch-base {
            stroke: rgba(255, 255, 255, 0.08);
            stroke-width: 1.3;
            opacity: 0.85;
        }

        .xps-pillar-branch-base {
            stroke-width: 1.8;
            stroke: rgba(var(--ui-accent-rgb), 0.16);
            opacity: 0.95;
        }

        .xps-tree-branch-base.is-active {
            stroke: rgba(var(--ui-accent-rgb), 0.65);
            stroke-width: 2.2;
            opacity: 1 !important;
        }

        .xps-tree-branch-base.is-dimmed {
            opacity: 0.04 !important;
        }

        /* ── Dynamic Flowing Signal Pulses (Unified Theme Accent) ── */
        .xps-tree-branch-pulse {
            stroke-dasharray: 10 38;
            stroke-dashoffset: 0;
            animation: xpsPulseFlow 2.2s linear infinite;
            filter: drop-shadow(0 0 4px rgba(var(--ui-accent-rgb), 0.5));
            pointer-events: none;
        }

        .xps-leaf-branch-pulse {
            stroke-dasharray: 9 36;
        }

        .xps-pillar-branch-pulse {
            stroke-dasharray: 14 34;
            filter: drop-shadow(0 0 6px rgba(var(--ui-accent-rgb), 0.8));
        }

        .xps-tree-branch-pulse.is-active {
            opacity: 1 !important;
            filter: drop-shadow(0 0 8px rgba(var(--ui-accent-rgb), 0.9)) drop-shadow(0 0 16px rgba(var(--ui-accent-rgb), 0.5)) !important;
            animation-duration: 0.85s !important;
        }

        .xps-tree-branch-pulse.is-dimmed {
            opacity: 0.03 !important;
            animation-play-state: paused;
        }

        @keyframes xpsPulseFlow {
            0% {
                stroke-dashoffset: 0;
            }
            100% {
                stroke-dashoffset: -48;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .xps-tree-branch-pulse {
                animation: none !important;
                stroke-dasharray: none !important;
                opacity: 0.35;
            }
        }

        /* ── Tier Columns ── */
        .xps-tier-col {
            display: flex;
            flex-direction: column;
            position: relative;
            z-index: 2;
        }

        /* ── Tier 1: 11 Specialist Factors (Left) ── */
        .xps-tier-factors {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .xps-factor-cluster {
            background: rgba(255, 255, 255, 0.015);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 8px 10px;
            display: flex;
            flex-direction: column;
            gap: 5px;
            transition: border-color 0.2s ease, background 0.2s ease;
        }

        .xps-factor-cluster:hover,
        .xps-factor-cluster.cluster-active {
            background: rgba(255, 255, 255, 0.025);
            border-color: rgba(255, 255, 255, 0.10);
        }

        .xps-cluster-header {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 2px 4px 4px 4px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            margin-bottom: 2px;
        }

        .xps-cluster-icon {
            display: inline-flex;
            align-items: center;
            color: var(--ui-accent);
            opacity: 0.75;
        }

        .xps-cluster-title {
            font-family: var(--header-font);
            font-size: 9.5px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .xps-cluster-leaves {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        /* ── Leaf Factor Tiles (Compact 2-Row Layout, No Truncation) ── */
        .xps-leaf-node {
            display: flex;
            align-items: center;
            gap: 9px;
            background: rgba(255, 255, 255, 0.022);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            padding: 5px 9px;
            position: relative;
            cursor: pointer;
            text-decoration: none;
            transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
        }

        .xps-leaf-node:hover,
        .xps-leaf-node.node-active {
            background: rgba(255, 255, 255, 0.055);
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            transform: translateX(3px);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
        }

        .xps-leaf-score-box {
            width: 25px;
            height: 25px;
            border-radius: 6px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: Inter, var(--mono-font);
            font-size: 13px;
            font-weight: 900;
            color: #ffffff;
            flex-shrink: 0;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
        }

        .xps-leaf-body {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 2px;
        }

        .xps-leaf-header-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            min-width: 0;
        }

        .xps-leaf-title {
            font-family: var(--header-font);
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.92);
            white-space: nowrap;
            overflow: visible;
        }

        .xps-leaf-verdict {
            font-family: var(--mono-font);
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 1px 5px;
            border-radius: 3px;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid currentColor;
            line-height: 1.25;
            flex-shrink: 0;
        }

        .xps-leaf-sub-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
            font-family: var(--mono-font);
            font-size: 8px;
            line-height: 1.2;
            color: rgba(255, 255, 255, 0.40);
        }

        .xps-leaf-persona {
            color: rgba(255, 255, 255, 0.45);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .xps-leaf-metrics {
            display: flex;
            align-items: center;
            gap: 4px;
            flex-shrink: 0;
        }

        .xps-leaf-sep {
            opacity: 0.3;
        }

        .xps-leaf-wt {
            color: rgba(255, 255, 255, 0.65);
            font-weight: 700;
        }

        .xps-leaf-pts {
            color: var(--ui-accent);
            font-weight: 800;
        }

        .xps-leaf-oneliner {
            font-family: var(--body-font);
            font-size: 10.5px;
            line-height: 1.35;
            color: rgba(255, 255, 255, 0.52);
            max-height: 0;
            opacity: 0;
            overflow: hidden;
            transition: max-height 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.28s ease, margin 0.28s ease;
        }

        /* Expanded mode for insights */
        .composite-score-panel.xps-view-insights .xps-leaf-oneliner,
        .composite-score-panel.xps-mode-insights .xps-leaf-oneliner {
            max-height: 120px;
            opacity: 1;
            margin-top: 5px;
        }

        /* ── Tier 2: 3 Pillar Hubs (Middle) ── */
        .xps-tier-pillars {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            gap: 16px;
        }

        .xps-pillar-hub-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 14px;
            padding: 14px 16px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            position: relative;
            cursor: pointer;
            box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
            transition: all 0.20s ease;
        }

        .xps-pillar-hub-card:hover,
        .xps-pillar-hub-card.hub-active {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(var(--ui-accent-rgb), 0.40);
            transform: scale(1.02);
            box-shadow: 0 8px 26px rgba(0, 0, 0, 0.42);
        }

        .xps-pillar-hub-card-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }

        .xps-pillar-hub-title-group {
            display: flex;
            align-items: center;
            gap: 8px;
            min-width: 0;
        }

        .xps-pillar-icon-box {
            width: 26px;
            height: 26px;
            border-radius: 7px;
            background: rgba(var(--ui-accent-rgb), 0.10);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.22);
            color: var(--ui-accent);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .xps-pillar-name {
            font-family: var(--header-font);
            font-size: 11.5px;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.92);
            white-space: normal;
            line-height: 1.25;
        }

        .xps-pillar-factor-count {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.35);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 4px;
            padding: 2px 5px;
            white-space: nowrap;
        }

        .xps-pillar-desc {
            font-family: var(--body-font);
            font-size: 9.5px;
            line-height: 1.35;
            color: rgba(255, 255, 255, 0.38);
        }

        .xps-pillar-hub {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 8px;
            padding: 6px 10px;
            border-radius: 8px;
            background: rgba(0, 0, 0, 0.40);
            border: 1px solid rgba(255, 255, 255, 0.08);
            margin-top: 2px;
            transition: all 0.2s ease;
        }

        .xps-pillar-hub-score-wrap {
            display: flex;
            align-items: baseline;
            gap: 4px;
        }

        .xps-pillar-hub-score {
            font-family: Inter, var(--mono-font);
            font-size: 15px;
            font-weight: 900;
            color: #ffffff;
            line-height: 1;
        }

        .xps-pillar-hub-denom {
            font-size: 9px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.35);
            font-family: var(--mono-font);
        }

        .xps-pillar-hub-wt {
            font-family: var(--mono-font);
            font-size: 8.5px;
            font-weight: 800;
            letter-spacing: 0.05em;
            padding: 2px 6px;
            border-radius: 4px;
            background: rgba(var(--ui-accent-rgb), 0.12);
            color: var(--ui-accent);
        }

        /* ── Tier 3: Synthesis Apex (Right) ── */
        .xps-tier-apex {
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .xps-root-score-card {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 18px;
            padding: 24px 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: 12px;
            position: relative;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(12px);
        }

        .xps-root-aura {
            position: absolute;
            top: 40px;
            left: 50%;
            transform: translateX(-50%);
            width: 140px;
            height: 140px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(var(--ui-accent-rgb), 0.18) 0%, transparent 70%);
            pointer-events: none;
            filter: blur(10px);
        }

        .xps-root-eyebrow {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
        }

        .xps-root-score-wrap {
            display: flex;
            align-items: baseline;
            justify-content: center;
            gap: 5px;
            position: relative;
            z-index: 1;
        }

        .xps-root-score-val {
            font-family: Inter, var(--mono-font);
            font-size: clamp(3.4rem, 5vw, 5.0rem);
            font-weight: 900;
            line-height: 0.92;
            letter-spacing: -0.02em;
        }

        .xps-root-denom {
            font-family: var(--mono-font);
            font-size: 14px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.30);
        }

        .xps-root-verdict-badge {
            font-family: var(--header-font);
            font-size: 10.5px;
            font-weight: 800;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            padding: 3px 12px;
            border-radius: 99px;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid currentColor;
        }

        .xps-root-telemetry {
            font-family: var(--mono-font);
            font-size: 9px;
            color: rgba(255, 255, 255, 0.40);
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .xps-root-investor-grid {
            display: flex;
            gap: 8px;
            justify-content: center;
            flex-wrap: wrap;
            padding: 10px 0;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            width: 100%;
        }

        .xps-root-investor-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2px;
            min-width: 42px;
        }

        .xps-root-investor-name {
            font-family: var(--header-font);
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
        }

        .xps-root-investor-val {
            font-family: Inter, var(--mono-font);
            font-size: 13px;
            font-weight: 900;
            line-height: 1;
        }

        .xps-root-tune-btn {
            font-family: var(--header-font);
            font-size: 9.5px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 7px 14px;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
            color: rgba(255, 255, 255, 0.70);
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: all 0.18s ease;
        }

        .xps-root-tune-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.12);
            border-color: rgba(var(--ui-accent-rgb), 0.35);
            color: #ffffff;
        }

        @media (max-width: 960px) {
            .xps-tree-body {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            .xps-tier-apex {
                order: -1;
            }
            .xps-tree-svg-canvas {
                display: none !important;
            }
            .xps-tier-pillars {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                gap: 12px;
            }
            .xps-tree-header-right {
                justify-content: flex-start;
                align-items: flex-start;
                width: 100%;
            }
            .xps-header-control-group {
                align-items: flex-start;
            }
        }

        /* ── X-RAY PREDICTIVE SCORE info popup ── */
        #xps-info-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 10500;
            opacity: 0;
            transition: opacity 0.22s ease;
        }

        #xps-info-overlay.active {
            display: flex;
            opacity: 1;
        }

        #xps-info-popup {
            position: relative;
            background: rgba(14, 14, 16, 0.98);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 20px;
            padding: 32px 28px 28px;
            max-width: 560px;
            width: calc(100% - 32px);
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            animation: qa-slide-in 0.22s ease;
            max-height: 88vh;
            display: flex;
            flex-direction: column;
        }

        #xps-info-popup .xps-popup-close {
            position: absolute;
            top: 14px;
            right: 16px;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.30);
            font-size: 18px;
            cursor: pointer;
            padding: 4px 8px;
            transition: color 0.2s;
            line-height: 1;
        }

        #xps-info-popup .xps-popup-close:hover {
            color: rgba(255, 255, 255, 0.80);
        }

        .xps-popup-eyebrow {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.60);
            margin-bottom: 6px;
        }

        .xps-popup-title {
            font-family: var(--header-font);
            font-size: 20px;
            font-weight: 800;
            letter-spacing: -0.01em;
            color: rgba(255, 255, 255, 0.95);
            margin-bottom: 6px;
        }

        .xps-popup-subtitle {
            font-size: 12.5px;
            color: rgba(255, 255, 255, 0.40);
            font-family: var(--body-font);
            margin-bottom: 22px;
            line-height: 1.5;
        }

        .xps-popup-scroll {
            overflow-y: auto;
            flex: 1;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.10) transparent;
            padding-right: 4px;
        }

        .xps-tier-group {
            margin-bottom: 20px;
        }

        .xps-tier-label {
            font-family: var(--mono-font);
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 4px 9px;
            border-radius: 5px;
            display: inline-block;
            margin-bottom: 10px;
        }

        .xps-tier-high {
            background: rgba(8, 209, 129, 0.10);
            color: rgba(8, 209, 129, 0.75);
            border: 1px solid rgba(8, 209, 129, 0.20);
        }

        .xps-tier-mid {
            background: rgba(237, 209, 25, 0.10);
            color: rgba(237, 209, 25, 0.75);
            border: 1px solid rgba(237, 209, 25, 0.20);
        }

        .xps-tier-low {
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.40);
            border: 1px solid rgba(255, 255, 255, 0.10);
        }

        .xps-dim-row {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            padding: 11px 14px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.055);
            margin-bottom: 6px;
            transition: background 0.15s;
        }

        .xps-dim-row:hover {
            background: rgba(255, 255, 255, 0.045);
        }

        .xps-dim-left {
            display: flex;
            flex-direction: column;
            gap: 3px;
            min-width: 108px;
            flex-shrink: 0;
        }

        .xps-dim-name {
            font-family: var(--header-font);
            font-size: 11.5px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.88);
            letter-spacing: -0.01em;
        }

        .xps-dim-weight {
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.04em;
        }

        .xps-dim-body {
            font-family: var(--body-font);
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.52);
            line-height: 1.55;
            flex: 1;
        }

        /* ── BETA SIGNAL info popup (mirrors XPS popup pattern) ── */
        #beta-info-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.55);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 10500;
            opacity: 0;
            transition: opacity 0.22s ease;
        }
        #beta-info-overlay.active {
            display: flex;
            opacity: 1;
        }
        #beta-info-popup {
            position: relative;
            background: rgba(14, 14, 16, 0.98);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 20px;
            padding: 32px 28px 28px;
            max-width: 560px;
            width: calc(100% - 32px);
            box-shadow: 0 32px 80px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            animation: qa-slide-in 0.22s ease;
            max-height: 88vh;
            display: flex;
            flex-direction: column;
        }
        #beta-info-popup .xps-popup-close {
            position: absolute;
            top: 14px;
            right: 16px;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.30);
            font-size: 18px;
            cursor: pointer;
            padding: 4px 8px;
            transition: color 0.2s;
            line-height: 1;
        }
        #beta-info-popup .xps-popup-close:hover {
            color: rgba(255, 255, 255, 0.80);
        }
        .beta-popup-agent-row {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            padding: 11px 14px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.055);
            margin-bottom: 6px;
        }
        .beta-popup-agent-name {
            font-family: var(--header-font);
            font-size: 11.5px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.88);
            letter-spacing: -0.01em;
            min-width: 100px;
            flex-shrink: 0;
        }
        .beta-popup-agent-desc {
            font-family: var(--body-font);
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.52);
            line-height: 1.55;
            flex: 1;
        }
        .xr-beta-subtitle {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 600;
            letter-spacing: 0.06em;
            color: rgba(255,255,255,0.25);
            margin-top: -4px;
        }

        .composite-score-sliders {
            flex: 1;
            padding: 18px 16px 14px 18px;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .composite-score-header {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.30);
            margin-bottom: 6px;
        }

        .composite-slider-row {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .composite-slider-label {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.02em;
            width: 34px;
            flex-shrink: 0;
            text-align: right;
        }

        /* Dual-track container: score track on top, weight slider below */
        .composite-slider-tracks {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        /* Score track — read-only filled bar (score-semantic color) */
        .composite-score-track {
            position: relative;
            height: 4px;
            border-radius: 4px 4px 0 0;
            background: rgba(255, 255, 255, 0.07);
            overflow: hidden;
            flex-shrink: 0;
        }

        .composite-score-track-fill {
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            border-radius: 4px 4px 0 0;
            /* color applied inline via JS/HTML */
        }

        /* Weight slider track (monochrome white) */
        .composite-slider-track {
            flex: 1;
            position: relative;
            height: 14px;
            display: flex;
            align-items: center;
        }

        .composite-slider-track input[type=range] {
            -webkit-appearance: none;
            appearance: none;
            width: 100%;
            height: 3px;
            border-radius: 0 0 3px 3px;
            outline: none;
            cursor: pointer;
            background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.50) 0px, rgba(255, 255, 255, 0.50) 3px, transparent 3px, transparent 7px);
        }

        .composite-slider-track input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.85);
            border: 2px solid rgba(0, 0, 0, 0.40);
            cursor: pointer;
            transition: transform 0.12s, box-shadow 0.12s;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
        }

        .composite-slider-track input[type=range]:hover::-webkit-slider-thumb,
        .composite-slider-track input[type=range]:active::-webkit-slider-thumb {
            transform: scale(1.3);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
        }

        .composite-slider-track input[type=range]::-moz-range-thumb {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.85);
            border: 2px solid rgba(0, 0, 0, 0.40);
            cursor: pointer;
        }

        .composite-slider-weight {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 10px;
            font-weight: 700;
            width: 24px;
            text-align: center;
            flex-shrink: 0;
            letter-spacing: 0.01em;
            opacity: 0.75;
        }

        .composite-slider-score {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 12px;
            font-weight: 800;
            width: 16px;
            text-align: center;
            flex-shrink: 0;
            letter-spacing: -0.01em;
            opacity: 0.90;
        }

        /* ── XPS Contribution Bar (2B) ── */
        .xps-contribution-bar {
            display: flex;
            height: 10px;
            border-radius: 99px;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.05);
            width: 100%;
            margin: 14px 0 10px 0;
            border: 1px solid rgba(255, 255, 255, 0.10);
            box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);
        }

        .xps-contrib-segment {
            height: 100%;
            transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease, filter 0.2s ease;
            border-right: 1px solid rgba(0, 0, 0, 0.4);
            position: relative;
        }

        .xps-contrib-segment:last-child {
            border-right: none;
        }

        .xps-contrib-segment:hover {
            filter: brightness(1.3);
            z-index: 2;
        }

        /* ── XPS Methodology Ledger Table (2E) ── */
        .composite-ledger-wrap {
            margin-top: 14px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.07);
            background: rgba(14, 16, 22, 0.65);
            overflow: hidden;
        }

        .composite-ledger-table {
            width: 100%;
            border-collapse: collapse;
            font-family: var(--header-font);
            font-size: 11px;
        }

        .composite-ledger-table thead th {
            text-align: left;
            padding: 8px 12px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.40);
            background: rgba(255, 255, 255, 0.02);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }

        .composite-ledger-table tbody td {
            padding: 7px 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            vertical-align: middle;
            color: rgba(255, 255, 255, 0.85);
        }

        .composite-ledger-table tbody tr:last-child td {
            border-bottom: none;
        }

        .composite-ledger-table tbody tr:hover {
            background: rgba(255, 255, 255, 0.03);
        }

        .xps-ledger-dim-cell {
            display: flex;
            align-items: center;
            gap: 7px;
            font-weight: 700;
        }

        .xps-ledger-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .xps-ledger-persona {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.40);
            font-weight: 500;
        }

        .xps-ledger-pts {
            font-family: var(--mono-font);
            font-weight: 800;
            color: #ffffff;
            font-variant-numeric: tabular-nums;
        }

        /* ── Dimension Scorecard Section ── */
        .dim-scorecard-section {
            margin: 0 0 20px;
            padding: 0;
        }

        .dim-scorecard-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
        }

        /* ── Dimension Scorecard Cards — score-first design ── */
        a.dim-scorecard-card,
        .dim-scorecard-card {
            text-decoration: none;
            display: flex;
            flex-direction: row;
            align-items: stretch;
            gap: 0;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 10px;
            padding: 0;
            cursor: pointer;
            transition: background 0.18s ease, border-color 0.18s ease, transform 0.2s ease;
            overflow: hidden;
            min-width: 0;
        }

        a.dim-scorecard-card:hover,
        .dim-scorecard-card:hover {
            background: rgba(255, 255, 255, 0.045);
            border-color: rgba(255, 255, 255, 0.12);
        }

        /* Left score column — big number */
        .dim-scorecard-score-col {
            width: 52px;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 10px 0;
        }

        .dim-scorecard-num {
            font-family: var(--body-font, 'Inter', system-ui, sans-serif);
            font-size: 50px;
            font-weight: 900;
            line-height: 1;
            letter-spacing: -0.02em;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .dim-scorecard-denom {
            display: none;
        }

        /* Right content column */
        .dim-scorecard-content {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 10px 14px;
            gap: 5px;
        }

        /* ── Card header: label row with verdict badge + dots ── */
        .dim-scorecard-top {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 6px;
        }

        .dim-scorecard-label {
            font-family: var(--body-font, 'Inter', system-ui, sans-serif);
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 0.02em;
            text-transform: none;
            color: rgba(255, 255, 255, 0.78);
            line-height: 1.3;
            flex-shrink: 1;
            min-width: 0;
        }

        .dim-scorecard-score-row {
            display: flex;
            align-items: center;
            gap: 4px;
            flex-shrink: 0;
        }

        /* Verdict badge — compact pill */
        .dim-scorecard-verdict {
            font-family: var(--mono-font);
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 2px 6px;
            border-radius: 99px;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid currentColor;
            opacity: 0.85;
            white-space: nowrap;
            flex-shrink: 0;
        }

        /* Dots row inline with verdict */
        .dim-scorecard-dots {
            display: flex;
            align-items: center;
            gap: 2px;
        }

        .dim-scorecard-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        @media (max-width: 480px) {
            .dim-scorecard-verdict {
                max-width: 55px;
                overflow: hidden;
                text-overflow: ellipsis;
            }
        }

        .dim-scorecard-bar { display: none; }

        .dim-scorecard-oneliner {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.52);
            font-family: var(--body-font);
            line-height: 1.4;
            font-weight: 450;
            overflow: visible;
            white-space: normal;
        }

        .dim-scorecard-shimmer { display: none; }
        .dim-scorecard-bar-bg { display: none; }
        .dim-scorecard-bar-fill { display: none; }

        @media (max-width: 900px) {
            .dim-scorecard-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (max-width: 600px) {
            .dim-scorecard-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .composite-score-display {
            width: 100%;
            flex-shrink: 0;
            display: flex;
            flex-direction: row;
            align-items: flex-end;
            justify-content: flex-end;
            flex-wrap: wrap;
            gap: 12px;
            padding: 0;
            position: relative;
        }

        .composite-score-label {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.90);
            white-space: nowrap;
            margin-bottom: 0px;
        }

        .composite-score-value {
            font-family: 'Inter', var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 52px;
            font-weight: 1000;
            letter-spacing: -0.04em;
            line-height: 1;
            transition: color 0.25s ease;
        }

        .composite-score-max {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 11px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.18);
            letter-spacing: 0.02em;
            margin-top: 2px;
        }

        .composite-score-verdict {
            display: inline-flex;
            align-items: center;
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 3px 10px;
            border-radius: 20px;
            border: 1px solid currentColor;
            transition: all 0.25s ease;
            opacity: 0.88;
            transform: translateY(-2px);
        }

        /* ── Composite Score Dimension Chart ── */
        .composite-dim-chart {
            width: 100%;
            border-top: 1px solid rgba(255, 255, 255, 0.04);
            padding-top: 14px;
            margin-top: 4px;
        }

        .composite-dim-chart-eyebrow {
            font-family: var(--mono-font);
            font-size: 7.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.20);
            margin-bottom: 10px;
        }

        .composite-dim-chart-svg {
            display: block;
            width: 100%;
            height: 40px;
            overflow: visible;
        }

        .composite-dim-chart-labels {
            display: flex;
            justify-content: space-between;
            margin-top: 5px;
        }

        .composite-dim-chart-label {
            font-size: 8px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: rgba(255, 255, 255, 0.38);
            white-space: nowrap;
        }

        .composite-reset-btn {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.20);
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
            margin-top: 8px;
            text-align: center;
            transition: color 0.15s;
        }

        .composite-reset-btn:hover {
            color: rgba(255, 255, 255, 0.50);
        }

        /* ── Composite preset buttons ── */
        .composite-preset-row {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
            margin-top: 10px;
        }

        .composite-preset-btn {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.28);
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 20px;
            padding: 3px 8px;
            cursor: pointer;
            transition: color 0.15s, background 0.15s, border-color 0.15s;
        }

        .composite-preset-btn:hover {
            color: rgba(255, 255, 255, 0.65);
            background: rgba(255, 255, 255, 0.09);
            border-color: rgba(255, 255, 255, 0.22);
        }

        .composite-preset-btn.active {
            color: #BE6EFF;
            background: rgba(190, 110, 255, 0.12);
            border-color: rgba(190, 110, 255, 0.35);
        }

        /* ── Verdict + Composite side-by-side layout ── */
        .verdict-composite-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin-bottom: 16px;
            align-items: start;
        }

        .empty-grid-cell {
            display: block;
        }

        @media (max-width: 768px) {
            .verdict-composite-row {
                grid-template-columns: 1fr;
            }

            .empty-grid-cell {
                display: none;
            }
        }

        /* ── vd-2col: verdict dashboard inline-style 2-col grids, mobile collapse ── */
        @media (max-width: 768px) {

            .vd-2col,
            .vd-3col {
                grid-template-columns: 1fr !important;
            }
        }

        /* ── Dimension score pills (next to verdict badge) ── */
        .dim-score-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
            justify-content: flex-end;
            max-width: 400px;
        }

        .dim-score-pill {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 3px 7px 3px 6px;
            border-radius: 20px;
            font-size: 10px;
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            font-weight: 700;
            letter-spacing: 0.01em;
            white-space: nowrap;
            cursor: default;
            transition: opacity 0.15s;
        }

        .dim-score-pill:hover {
            opacity: 0.85;
        }

        .dim-score-pill-label {
            opacity: 0.72;
            font-weight: 500;
        }

        .dim-score-pill-val {
            font-weight: 700;
        }

        @media (max-width: 768px) {
            .verdict-rating {
                position: static;
                margin-top: 10px;
                margin-bottom: 8px;
                font-size: 22px;
                text-align: left;
            }

            .dim-score-pills {
                max-width: 100%;
                justify-content: flex-start;
            }
        }

        /* Clean up internal asymmetry layout */
        .asymmetry-block {
            margin-top: 0;
            padding-top: 0;
            border-top: none;
            /* Remove the unnecessary line */
        }

        .radar-container {
            margin-top: 8px;
            display: flex;
            justify-content: center;
            align-items: flex-start;
            width: 100%;
            background: transparent;
            border: none;
            border-radius: 0;
            padding: 4px 0;
        }

        .tradingview-chart {
            width: 100%;
            min-width: 300px;
        }

        @media (min-width: 768px) {
            .verdict-banner {
                /* Keep column layout for header on top */
                gap: 20px;
            }

            /* .verdict-body intentionally NOT set to flex-direction:row here —
               the executive dashboard uses its own internal 2-col grid layout */
        }


        .radar-axis {
            stroke: rgba(255, 255, 255, 0.06);
            stroke-width: 1;
        }

        .radar-grid {
            fill: none;
            stroke: rgba(255, 255, 255, 0.06);
            stroke-width: 1;
        }

        .radar-area {
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .radar-point {
            stroke: none;
        }

        .radar-label {
            font-family: "SF Pro Text", -apple-system, sans-serif;
            font-size: 10px;
            fill: rgba(255, 255, 255, 0.5);
            font-weight: 500;
            text-anchor: middle;
            text-transform: capitalize;
            letter-spacing: 0.02em;
        }

        .radar-score-label {
            font-family: "SF Pro Text", -apple-system, sans-serif;
            font-size: 11px;
            fill: rgba(255, 255, 255, 0.9);
            font-weight: 700;
            text-anchor: middle;
        }

        .radar-chart {
            width: 100%;
            height: 100%;
            max-width: 320px;
            overflow: visible;
            animation: radarScaleIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
        }

        @keyframes radarScaleIn {
            from {
                opacity: 0;
                transform: scale(0.3);
            }

            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        .radar-data-polygon {
            animation: radarGlowPulse 4s ease-in-out infinite;
        }

        @keyframes radarGlowPulse {

            0%,
            100% {
                filter: drop-shadow(0 0 8px rgba(0, 113, 227, 0.15));
            }

            50% {
                filter: drop-shadow(0 0 16px rgba(0, 113, 227, 0.35));
            }
        }

        .radar-dot {
            opacity: 0;
            animation: radarDotIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .radar-dot-label {
            opacity: 0;
            animation: radarDotIn 0.3s ease forwards;
        }

        @keyframes radarDotIn {
            from {
                opacity: 0;
                transform: scale(0);
            }

            to {
                opacity: 1;
                transform: scale(1);
            }
        }



        .verdict-label {
            font-family: var(--header-font);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 0.22em;
            color: rgba(255, 255, 255, 0.28);
            font-weight: 700;
            margin-bottom: 16px;
        }

        .verdict-text {
            font-size: var(--body-size);
            line-height: 1.6;
            font-family: var(--body-font);
            color: var(--text-body);
        }

        /* Executive Verdict Dashboard Styles */
        .verdict-executive-dashboard {
            display: flex;
            flex-direction: column;
            gap: 16px;
            width: 100%;
            min-width: 0;
            margin-top: 8px;
        }

        /* ── Dimension score orbs row (below verdict hero) ── */
        .dim-score-orbs {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            padding: 14px 0 8px;
            border-top: 1px solid rgba(255, 255, 255, 0.07);
            margin-top: 4px;
            width: 100%;
        }

        .dim-score-orb {
            display: flex;
            align-items: center;
            gap: 7px;
            padding: 7px 13px 7px 10px;
            border-radius: 24px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            transition: background 0.15s, border-color 0.15s;
            flex-shrink: 0;
        }

        .dim-score-orb:hover {
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(255, 255, 255, 0.14);
        }

        .dim-score-orb .orb-circle {
            width: 26px;
            height: 26px;
            border-radius: 50%;
            border: 1.5px solid var(--orb-color, #86868b);
            background: color-mix(in srgb, var(--orb-color, #86868b), transparent 86%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 13px;
            font-weight: 800;
            color: var(--orb-color, #86868b);
            flex-shrink: 0;
        }

        .dim-score-orb .orb-label {
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: 0.02em;
            color: rgba(255, 255, 255, 0.55);
            white-space: nowrap;
        }

        /* ── Verdict Hero Row: Decision left + TSR/One Thing right ── */
        .verdict-hero-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            align-items: stretch;
        }

        .verdict-hero-decision {
            display: flex;
            flex-direction: column;
        }

        .verdict-hero-decision .verdict-one-thing {
            flex: 1;
        }

        .verdict-hero-right {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .verdict-hero-right .verdict-tsr-block,
        .verdict-hero-right .verdict-one-thing--highlight {
            flex: 1;
        }

        @media (max-width: 820px) {
            .verdict-hero-row {
                grid-template-columns: 1fr;
            }
        }

        .verdict-header-row {
            display: flex;
            gap: 16px;
            align-items: stretch;
            margin-bottom: 24px;
            /* Increased bottom margin */
        }

        .verdict-badge {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 18px 20px;
            border-radius: 16px;
            width: 120px;
            text-align: center;
            font-family: var(--header-font);
            border: 1px solid rgba(255, 255, 255, 0.1);
            flex-shrink: 0;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        .verdict-badge .decision-label {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            opacity: 0.7;
            margin-bottom: 6px;
            font-weight: 700;
        }

        .verdict-badge .decision-value {
            font-size: 28px;
            font-weight: 800;
            letter-spacing: -0.02em;
            line-height: 1;
        }

        .verdict-badge.strong-buy {
            background: rgba(255, 255, 255, 0.02);
            border-color: var(--verdict-strong);
            color: var(--verdict-strong);
            box-shadow: 0 0 20px rgba(80, 165, 255, 0.20);
        }

        .verdict-badge.strong-buy .decision-value {
            background: var(--grad-score-5);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .verdict-badge.buy {
            background: rgba(255, 255, 255, 0.02);
            border-color: var(--score-4);
            color: var(--score-4);
            box-shadow: 0 0 20px rgba(79, 159, 154, 0.20);
        }

        .verdict-badge.buy .decision-value {
            background: var(--grad-score-4);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .verdict-badge.avoid,
        .verdict-badge.short {
            background: rgba(255, 255, 255, 0.02);
            border-color: var(--score-1);
            color: var(--score-1);
            box-shadow: 0 0 20px color-mix(in srgb, var(--score-1), transparent 80%);
        }

        .verdict-badge.avoid .decision-value,
        .verdict-badge.short .decision-value {
            background: var(--grad-score-1);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .verdict-badge.watchlist {
            background: rgba(255, 255, 255, 0.02);
            border-color: var(--score-3);
            color: var(--score-3);
            box-shadow: 0 0 20px color-mix(in srgb, var(--score-3), transparent 80%);
        }

        .verdict-badge.watchlist .decision-value {
            background: var(--grad-score-3);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .verdict-summary-box {
            flex: 1;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 14px;
            padding: 20px 24px;
            font-size: 14.5px;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.88);
            display: flex;
            align-items: center;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        .verdict-one-thing {
            background: linear-gradient(90deg, rgba(10, 132, 255, 0.06), transparent);
            border-left: 2px solid rgba(10, 113, 227, 0.7);
            padding: 14px 20px;
            border-radius: 4px 14px 14px 4px;
            margin: 4px 0;
        }

        .verdict-one-thing .label {
            font-size: 24px;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(10, 132, 255, 0.9);
            font-weight: 900;
            margin-bottom: 8px;
            display: block;
        }

        .verdict-one-thing .value {
            font-size: 14.5px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.88);
            line-height: 1.5;
        }

        /* The One Thing — prominent highlighted callout */
        .verdict-one-thing--highlight {
            background: linear-gradient(90deg, rgba(251, 188, 5, 0.08), rgba(251, 188, 5, 0.02) 60%, transparent);
            border-left: 3px solid rgba(251, 188, 5, 0.75);
            box-shadow: inset 0 1px 0 rgba(251, 188, 5, 0.06), 0 0 28px rgba(251, 188, 5, 0.04);
            padding: 18px 22px;
            border-radius: 4px 16px 16px 4px;
            margin: 4px 0;
        }

        .verdict-one-thing--highlight .label {
            font-size: 10px;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: rgba(251, 188, 5, 0.9);
            font-weight: 800;
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .verdict-one-thing--highlight .label svg {
            opacity: 0.8;
            flex-shrink: 0;
        }

        .verdict-one-thing--highlight .value {
            font-size: 15.5px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.95);
            line-height: 1.6;
            font-style: normal;
        }

        /* ── Core signals: 2-col grid gives each card more breathing room ── */
        .verdict-grid {
            margin-top: 16px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
            max-width: 90%;
            /* Increased from 50% to satisfy user's request for balanced split */
        }

        @media (max-width: 900px) {
            .verdict-grid {
                max-width: 100%;
            }
        }

        @media (max-width: 600px) {
            .verdict-grid {
                grid-template-columns: 1fr;
            }
        }

        .verdict-grid-card {
            background: rgba(255, 255, 255, 0.022);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-left: 2px solid rgba(255, 255, 255, 0.10);
            border-radius: 4px 14px 14px 4px;
            padding: 14px 16px 14px 14px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        .verdict-grid-card .header {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            font-family: var(--header-font);
            margin-bottom: 9px;
            padding-bottom: 8px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.40);
        }

        .verdict-grid-card .header svg {
            opacity: 0.45;
            flex-shrink: 0;
        }

        .verdict-grid-card.red-flag .header {
            color: rgba(255, 80, 80, 0.70);
        }

        .verdict-grid-card.red-flag {
            border-left-color: rgba(255, 65, 65, 0.28);
            border-color: rgba(255, 65, 65, 0.10);
        }

        /* Moat Trajectory — One-Thing style with purple theme */
        .verdict-grid-card--moat {
            background: linear-gradient(135deg, rgba(190, 110, 255, 0.09) 0%, rgba(190, 110, 255, 0.03) 70%, transparent);
            border: 1px solid rgba(190, 110, 255, 0.16);
            border-left: 3px solid rgba(190, 110, 255, 0.60);
            border-radius: 4px 14px 14px 4px;
            box-shadow: inset 0 1px 0 rgba(190, 110, 255, 0.08), 0 0 24px rgba(190, 110, 255, 0.06);
        }

        .verdict-grid-card--moat .header {
            color: rgba(190, 110, 255, 0.85);
            border-bottom-color: rgba(190, 110, 255, 0.10);
        }

        .verdict-grid-card--moat .header svg {
            opacity: 0.65;
            color: rgba(190, 110, 255, 0.85);
        }

        /* AI Resiliency — Blue theme */
        .verdict-grid-card--ai {
            background: linear-gradient(135deg, rgba(80, 165, 255, 0.06) 0%, rgba(80, 165, 255, 0.015) 80%, transparent);
            border: 1px solid rgba(80, 165, 255, 0.12);
            border-left: 2px solid rgba(80, 165, 255, 0.50);
            box-shadow: inset 0 1px 0 rgba(80, 165, 255, 0.05);
        }

        .verdict-grid-card--ai .header {
            color: rgba(80, 165, 255, 0.85);
            border-bottom-color: rgba(80, 165, 255, 0.10);
        }

        .verdict-grid-card--ai .header svg {
            color: rgba(80, 165, 255, 0.85);
        }

        /* Governance — Teal theme */
        .verdict-grid-card--gov {
            background: linear-gradient(135deg, rgba(60, 210, 200, 0.05) 0%, rgba(60, 210, 200, 0.01) 80%, transparent);
            border: 1px solid rgba(60, 210, 200, 0.12);
            border-left: 2px solid rgba(60, 210, 200, 0.40);
        }

        .verdict-grid-card--gov .header {
            color: rgba(60, 210, 200, 0.80);
            border-bottom-color: rgba(60, 210, 200, 0.10);
        }

        .verdict-grid-card--gov .header svg {
            color: rgba(60, 210, 200, 0.80);
        }

        /* Regime Sensitivity — Purple/Blue theme */
        .verdict-grid-card--regime {
            background: linear-gradient(135deg, rgba(160, 140, 255, 0.05) 0%, rgba(160, 140, 255, 0.01) 80%, transparent);
            border: 1px solid rgba(160, 140, 255, 0.10);
            border-left: 2px solid rgba(160, 140, 255, 0.40);
        }

        .verdict-grid-card--regime .header {
            color: rgba(160, 140, 255, 0.80);
            border-bottom-color: rgba(160, 140, 255, 0.10);
        }

        .verdict-grid-card--regime .header svg {
            color: rgba(160, 140, 255, 0.80);
        }

        /* Leading Indicators — Yellow/Orange theme */
        .verdict-grid-card--leading {
            background: linear-gradient(135deg, rgba(237, 209, 25, 0.04) 0%, rgba(237, 209, 25, 0.005) 80%, transparent);
            border: 1px solid rgba(237, 209, 25, 0.08);
            border-left: 2px solid rgba(237, 209, 25, 0.40);
        }

        .verdict-grid-card--leading .header {
            color: rgba(237, 209, 25, 0.80);
            border-bottom-color: rgba(237, 209, 25, 0.10);
        }

        .verdict-grid-card--leading .header svg {
            color: rgba(237, 209, 25, 0.80);
        }

        /* Tripwires — Caution Orange theme */
        .verdict-grid-card--tripwire {
            background: linear-gradient(135deg, rgba(255, 170, 60, 0.05) 0%, rgba(255, 170, 60, 0.01) 80%, transparent);
            border: 1px solid rgba(255, 170, 60, 0.10);
            border-left: 2px solid rgba(255, 170, 60, 0.40);
        }

        .verdict-grid-card--tripwire .header {
            color: rgba(255, 170, 60, 0.80);
            border-bottom-color: rgba(255, 170, 60, 0.10);
        }

        .verdict-grid-card--tripwire .header svg {
            color: rgba(255, 170, 60, 0.80);
        }

        .verdict-grid-card .content {
            font-size: 12.5px;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.78);
        }

        /* ── TSR Logic: full-width standalone block ── */
        .verdict-tsr-block {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-left: 3px solid rgba(255, 255, 255, 0.18);
            border-radius: 4px 14px 14px 4px;
            padding: 16px 20px;
        }

        .verdict-section-divider {
            width: 100%;
            height: 1px;
            background: rgba(255, 255, 255, 0.07);
            flex-shrink: 0;
        }

        .verdict-tsr-block .header {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.50);
            font-weight: 800;
            margin-bottom: 8px;
        }

        .verdict-tsr-block .header svg {
            opacity: 0.6;
            flex-shrink: 0;
        }

        .verdict-tsr-block .content {
            font-size: 13.5px;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.85);
        }

        /* ── Market Signals (Leading Indicators + Tripwires) ── */
        .verdict-signals-section {
            background: rgba(255, 160, 50, 0.03);
            border: 1px solid rgba(255, 160, 50, 0.12);
            border-radius: 16px;
            padding: 18px 18px 16px;
            flex: 1;
        }

        .verdict-signals-section-header {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 14px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255, 160, 50, 0.1);
        }

        .verdict-signals-section-header .title {
            font-size: 10px;
            font-family: var(--header-font);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: rgba(255, 160, 50, 0.7);
        }

        .verdict-signals-section-header svg {
            color: rgba(255, 160, 50, 0.55);
            flex-shrink: 0;
        }

        .verdict-signals-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 10px;
        }

        .verdict-signals-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 160, 50, 0.08);
            border-radius: 12px;
            padding: 14px 16px;
        }

        .verdict-signals-card .header {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 160, 50, 0.65);
            font-weight: 700;
            margin-bottom: 8px;
        }

        .verdict-signals-card .header svg {
            opacity: 0.7;
            flex-shrink: 0;
        }

        .verdict-signals-card .content {
            font-size: 12.5px;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.78);
        }

        /* Macro + Signals side-by-side row */
        .verdict-macro-signals-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }

        @media (max-width: 700px) {
            .verdict-macro-signals-row {
                grid-template-columns: 1fr;
            }
        }

        /* ── TL;DR Summary Strip (v1358) ── */
        .tldr-strip {
            display: flex;
            align-items: center;
            gap: 20px;
            padding: 16px 24px;
            margin-bottom: 20px;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            font-family: var(--body-font);
        }

        .tldr-verdict-pill {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 5px 14px;
            border-radius: 20px;
            white-space: nowrap;
            flex-shrink: 0;
            border: 1px solid currentColor;
        }

        .tldr-score {
            font-size: 28px;
            font-weight: 800;
            letter-spacing: -0.03em;
            flex-shrink: 0;
            line-height: 1;
            font-family: var(--mono-font);
        }

        .tldr-score-max {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.25);
            font-weight: 500;
        }

        .tldr-body {
            flex: 1;
            min-width: 0;
        }

        .tldr-company {
            font-size: 14px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.90);
            margin-bottom: 3px;
        }

        .tldr-summary {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.55);
            line-height: 1.5;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .tldr-uncertainty {
            margin-top: 6px;
            font-size: 10px;
            color: rgba(255, 200, 50, 0.65);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .tldr-uncertainty::before {
            content: '\26A0';
            font-size: 11px;
        }

        @media (max-width: 640px) {
            .tldr-strip {
                flex-wrap: wrap;
                gap: 12px;
                padding: 14px 16px;
            }

            .tldr-score {
                font-size: 22px;
            }

            .tldr-body {
                flex-basis: 100%;
            }

            .tldr-summary {
                -webkit-line-clamp: 3;
            }
        }

        /* ── Confidence Meter (Signal Strength) ── */
        .confidence-meter-wrap {
            margin-top: 14px;
            padding-top: 14px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        .conf-label-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 8px;
        }

        .conf-label {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            color: var(--text-muted);
        }

        .conf-val {
            font-size: 12px;
            font-weight: 800;
            color: var(--text-main);
        }

        .signal-bar-grid {
            display: grid;
            grid-template-columns: repeat(10, 1fr);
            gap: 3px;
            height: 6px;
        }

        .signal-seg {
            background: rgba(255, 255, 255, 0.06);
            border-radius: 1px;
            transition: background 0.4s ease;
        }

        .signal-seg.active {
            background: var(--verdict-strong);
            box-shadow: 0 0 8px rgba(var(--ui-accent-rgb), 0.3);
        }

        /* ── Asymmetry + Macro solo-pair row ── */
        /* Each is a full-width dim-trio-section stacked vertically — not side-by-side */
        .dim-solo-row {
            display: flex;
            flex-direction: column;
            gap: 24px;
            margin-bottom: 40px;
        }

        /* The card itself — same visual language as dim-trio-card */
        .dim-solo-card {
            background: rgba(0, 0, 0, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 16px;
            padding: 24px 22px 20px;
            display: flex;
            flex-direction: column;
            gap: 0;
            transition: border-color 0.3s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
            position: relative;
            overflow: hidden;
            box-shadow:
                0 2px 12px rgba(0, 0, 0, 0.35);
        }

        .dim-solo-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse at 0% 0%, rgba(var(--dim-c), 0.06) 0%, transparent 55%),
                var(--noise-url);
            background-size: auto, 160px 160px;
            opacity: 0.4;
            pointer-events: none;
            mix-blend-mode: normal;
            border-radius: inherit;
        }

        .dim-solo-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 20%;
            right: 20%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
            pointer-events: none;
        }

        .dim-solo-card>* {
            position: relative;
            z-index: 1;
        }

        .dim-solo-card:hover {
            border-color: rgba(255, 255, 255, 0.16);
        }

        /* Per-dimension color accents — mirrors dim-trio-card[data-dim] */
        .dim-solo-card[data-dim="macro"] {
            --dim-c: 160, 140, 255;
        }

        .dim-solo-card[data-dim="asymmetry"] {
            --dim-c: 255, 165, 80;
        }

        .dim-solo-card[data-dim] {
            border-left: 2px solid rgba(var(--dim-c), 0.40);
            border-top-color: rgba(var(--dim-c), 0.08);
            border-right-color: rgba(var(--dim-c), 0.08);
            border-bottom-color: rgba(var(--dim-c), 0.08);
        }

        .dim-solo-card[data-dim]:hover {
            border-left-color: rgba(var(--dim-c), 0.65);
            border-top-color: rgba(var(--dim-c), 0.25);
            border-right-color: rgba(var(--dim-c), 0.25);
            border-bottom-color: rgba(var(--dim-c), 0.25);
            box-shadow:
                0 12px 36px rgba(0, 0, 0, 0.5),
                0 0 28px rgba(var(--dim-c), 0.10),
                inset 0 0 20px rgba(var(--dim-c), 0.03);
        }

        /* Tint the top sheen with dim color */
        .dim-solo-card[data-dim]::after {
            background: linear-gradient(90deg, rgba(var(--dim-c), 0.25), rgba(var(--dim-c), 0.08), transparent);
        }

        .dim-solo-card[data-dim] .dim-solo-card-header {
            border-bottom-color: rgba(var(--dim-c), 0.10);
        }

        .dim-solo-card[data-dim] .dim-trio-card-explainer {
            color: rgba(var(--dim-c), 0.55);
        }

        /* Card header — identical to dim-trio-card-header */
        .dim-solo-card-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        /* Body — same as dim-trio-body but unconstrained width */
        .dim-solo-body {
            font-size: 12.5px;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.72);
            flex: 1;
            overflow-y: visible;
            padding-right: 0;
            max-width: none;
        }

        .dim-solo-body p {
            margin: 0 0 12px 0;
        }

        .dim-solo-body p:last-child {
            margin-bottom: 0;
        }

        .dim-solo-body strong,
        .dim-solo-body b {
            color: rgba(255, 255, 255, 0.94);
            font-weight: 700;
        }

        /* ── Macro Context sub-section ── */
        .verdict-macro-section {
            background: rgba(120, 180, 255, 0.03);
            border: 1px solid rgba(120, 180, 255, 0.1);
            border-radius: 16px;
            padding: 18px 18px 16px;
            flex: 1;
        }

        .verdict-macro-section-header {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 14px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(120, 180, 255, 0.1);
        }

        .verdict-macro-section-header .title {
            font-size: 10px;
            font-family: var(--header-font);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: rgba(120, 180, 255, 0.65);
        }

        .verdict-macro-section-header svg {
            color: rgba(120, 180, 255, 0.5);
            flex-shrink: 0;
        }

        .verdict-macro-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 10px;
        }

        .verdict-macro-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(120, 180, 255, 0.08);
            border-radius: 12px;
            padding: 14px 16px;
        }

        .verdict-macro-card .header {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(120, 180, 255, 0.55);
            font-weight: 700;
            margin-bottom: 8px;
        }

        .verdict-macro-card .header svg {
            opacity: 0.7;
            flex-shrink: 0;
        }

        .verdict-macro-card .content {
            font-size: 12.5px;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.78);
        }

        @media (max-width: 640px) {
            .verdict-macro-grid {
                grid-template-columns: 1fr;
            }

            .verdict-signals-grid {
                grid-template-columns: 1fr;
            }
        }

        .verdict-variant-view {
            background: rgba(255, 255, 255, 0.02);
            border: 1px dashed rgba(255, 255, 255, 0.14);
            border-radius: 12px;
            padding: 16px 20px;
            margin-top: 4px;
        }

        .verdict-variant-view .header {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(251, 188, 5, 0.8);
            font-weight: 700;
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .verdict-variant-view .content {
            font-size: 13.5px;
            font-style: italic;
            color: rgba(255, 255, 255, 0.82);
            line-height: 1.65;
        }

        /* ── Verdict Decision Card (v2.0 header replacement) ── */
        .verdict-decision-card {
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent);
            border-left: 2px solid rgba(255, 255, 255, 0.3);
            padding: 16px 20px 18px;
            border-radius: 4px 14px 14px 4px;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        .verdict-decision-header {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-bottom: 0;
        }

        .verdict-decision-label {
            font-size: 10px;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.18em;
            font-weight: 700;
            opacity: 0.7;
            flex-shrink: 0;
        }

        .verdict-decision-value {
            font-size: 26px;
            font-family: var(--header-font);
            font-weight: 900;
            letter-spacing: -0.01em;
            line-height: 1;
        }

        .verdict-decision-summary {
            font-size: 14px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.86);
            line-height: 1.55;
            margin-top: 10px;
        }

        /* ── Conviction + Thesis Type badges (v2.0) ── */
        .verdict-meta-badges {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 8px;
        }

        .verdict-conviction-badge {
            display: inline-flex;
            align-items: center;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 3px 8px;
            border-radius: 4px;
            border: 1px solid currentColor;
        }

        .verdict-conviction-badge.conviction-high {
            color: var(--score-5);
            background: rgba(8, 209, 129, 0.10);
        }

        .verdict-conviction-badge.conviction-medium {
            color: var(--score-2);
            background: rgba(237, 209, 25, 0.10);
        }

        .verdict-conviction-badge.conviction-low {
            color: var(--score-2);
            background: rgba(224, 122, 95, 0.10);
        }

        .verdict-thesis-type-badge {
            display: inline-flex;
            align-items: center;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.05em;
            padding: 3px 8px;
            border-radius: 4px;
            color: rgba(255, 255, 255, 0.65);
            background: rgba(255, 255, 255, 0.07);
            border: 1px solid rgba(255, 255, 255, 0.12);
        }

        .verdict-thesis-condition {
            margin-top: 6px;
            font-size: 12px;
            color: rgba(255, 255, 255, 0.55);
            font-style: italic;
            line-height: 1.5;
        }

        .verdict-thesis-condition-label {
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.38);
            font-style: normal;
        }

        /* What Would Change The Call card accent */
        .verdict-signals-card.verdict-what-would-change .header {
            color: rgba(176, 176, 176, 0.75);
        }

        /* ── Bubble Timeline ── */
        .bubble-timeline-wrap {
            margin-top: 0px;
            padding: 20px 24px 22px;
            background: rgba(255, 255, 255, 0.018);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            overflow: hidden;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        @media (max-width: 768px) {
            .bubble-timeline-wrap {
                display: none;
            }

            .timeline-section-wrapper {
                display: none;
            }
        }

        /* ── Peer Reports Section ── */
        .peer-reports-section {
            margin-bottom: 24px;
        }

        .peer-reports-header {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-bottom: 16px;
            padding-bottom: 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .peer-reports-title {
            font-size: 18px;
            font-weight: 800;
            letter-spacing: -0.02em;
            color: rgba(255, 255, 255, 0.92);
            font-family: var(--header-font);
        }

        .peer-reports-subtitle {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.22);
            font-family: var(--mono-font);
        }

        .peer-reports-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
        }

        @media (max-width: 900px) {
            .peer-reports-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 540px) {
            .peer-reports-grid {
                grid-template-columns: 1fr;
            }
        }

        /* ── Peer report card — glass aesthetic aligned with result page ── */
        .peer-report-card {
            background: rgba(255, 255, 255, 0.02);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 18px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            box-sizing: border-box;
        }

        .peer-report-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at top right, rgba(var(--ui-accent-rgb), 0.08), transparent 70%);
            opacity: 0;
            transition: opacity 0.4s;
            pointer-events: none;
        }

        .peer-report-card:hover {
            background: rgba(255, 255, 255, 0.035);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
            border-color: rgba(255, 255, 255, 0.15);
        }

        .peer-report-card:hover::before {
            opacity: 1;
        }

        /* Header block — company left, verdict right (matches .report-card-header) */
        .peer-report-card-header {
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            justify-content: space-between;
            gap: 10px;
            width: 100%;
            min-width: 0;
        }

        .peer-report-card-header .report-card-left {
            flex: 1 1 0;
        }

        /* Ticker pill */
        .peer-report-card-ticker {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.14em;
            color: rgba(var(--ui-accent-rgb), 0.65);
            text-transform: uppercase;
            background: rgba(var(--ui-accent-rgb), 0.07);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.16);
            border-radius: 4px;
            padding: 2px 6px;
            display: inline-block;
            align-self: flex-start;
        }

        /* Company name */
        .peer-report-card-company {
            font-size: 15px;
            font-weight: 850;
            color: #fff;
            letter-spacing: -0.02em;
            line-height: 1.2;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
            min-height: 1.2em;
        }

        /* Verdict badge */
        .peer-report-card-verdict {
            font-size: 9px;
            font-weight: 900;
            padding: 4px 10px;
            border-radius: 99px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            white-space: nowrap;
            line-height: 1.3;
            flex-shrink: 0;
        }

        /* Score badges row */
        .peer-report-card .scores-cell {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
            margin-bottom: 14px;
        }

        /* Date — anchored to company name inside header block */
        .peer-report-card-date {
            font-family: var(--mono-font);
            font-size: 9px;
            color: rgba(255, 255, 255, 0.22);
        }

        /* Action buttons row — pushed to bottom */
        .peer-report-card-actions {
            display: flex;
            gap: 6px;
            margin-top: auto;
        }

        .peer-report-card-actions .action-chip {
            flex: 1;
            justify-content: center;
            cursor: pointer;
            min-height: 32px;
            display: flex;
            align-items: center;
            gap: 5px;
            font-size: 9px;
        }

        .peer-report-card-actions .action-chip:first-child {
            background: rgba(var(--ui-accent-rgb), 0.08);
            border-color: rgba(var(--ui-accent-rgb), 0.22);
            color: rgba(var(--ui-accent-rgb), 0.85);
        }

        .peer-report-card-actions .action-chip:first-child:hover {
            background: rgba(var(--ui-accent-rgb), 0.15);
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            color: var(--ui-accent);
        }

        /* ── Peer Comparison Heatmap ─────────────────────────────────────────── */
        .peer-heatmap {
            margin-bottom: 28px;
        }

        .peer-heatmap-label {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.28);
            font-family: var(--mono-font);
            margin-bottom: 12px;
        }

        .peer-heatmap-scroll {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            padding-bottom: 4px;
        }

        .peer-heatmap-scroll::-webkit-scrollbar {
            height: 3px;
        }

        .peer-heatmap-scroll::-webkit-scrollbar-track {
            background: rgba(255, 255, 255, 0.04);
            border-radius: 2px;
        }

        .peer-heatmap-scroll::-webkit-scrollbar-thumb {
            background: rgba(var(--ui-accent-rgb), 0.25);
            border-radius: 2px;
        }

        .peer-heatmap-table {
            border-collapse: separate;
            border-spacing: 3px;
            min-width: 100%;
            table-layout: auto;
        }

        .peer-heatmap-group-th {
            padding: 0 0 6px 0;
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            font-family: var(--mono-font);
            color: rgba(255, 255, 255, 0.22);
            text-align: center;
            white-space: nowrap;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }

        .peer-heatmap-col-th {
            padding: 6px 4px 8px 4px;
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            font-family: var(--mono-font);
            color: rgba(255, 255, 255, 0.38);
            text-align: center;
            white-space: nowrap;
            min-width: 42px;
        }

        .peer-heatmap-col-th.col-verdict {
            color: rgba(255, 255, 255, 0.55);
            font-weight: 800;
        }

        .peer-heatmap-row-label {
            padding: 0 14px 0 0;
            white-space: nowrap;
            vertical-align: middle;
        }

        .peer-heatmap-row-label-inner {
            display: flex;
            flex-direction: column;
            gap: 2px;
            min-width: 90px;
        }

        .peer-heatmap-ticker {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: rgba(var(--ui-accent-rgb), 0.7);
            text-transform: uppercase;
        }

        .peer-heatmap-company {
            font-family: var(--header-font);
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.82);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 120px;
        }

        .peer-heatmap-row.is-current .peer-heatmap-ticker {
            color: rgba(var(--ui-accent-rgb), 1);
        }

        .peer-heatmap-row.is-current .peer-heatmap-company {
            color: rgba(255, 255, 255, 0.98);
        }

        .peer-heatmap-cell {
            width: 42px;
            height: 36px;
            border-radius: 7px;
            text-align: center;
            vertical-align: middle;
            font-family: var(--mono-font);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: -0.02em;
            position: relative;
            transition: transform 0.12s, box-shadow 0.12s;
            cursor: default;
        }

        .peer-heatmap-cell:hover {
            transform: scale(1.12);
            z-index: 2;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
        }

        .peer-heatmap-cell.cell-empty {
            background: rgba(255, 255, 255, 0.035);
            color: rgba(255, 255, 255, 0.15);
            font-size: 10px;
        }

        .peer-heatmap-cell.cell-verdict {
            border-radius: 9px;
        }

        /* Average score column */
        .peer-heatmap-avg-th {
            padding: 6px 4px 8px 10px;
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            font-family: var(--mono-font);
            color: rgba(255, 255, 255, 0.30);
            text-align: center;
            white-space: nowrap;
            min-width: 38px;
        }

        .peer-heatmap-avg-cell {
            padding-left: 10px;
            text-align: center;
            vertical-align: middle;
            font-family: var(--mono-font);
            font-size: 11px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.42);
            white-space: nowrap;
        }

        .peer-heatmap-row.is-current .peer-heatmap-avg-cell {
            color: rgba(var(--ui-accent-rgb), 0.85);
        }

        /* Current-row left-border accent */
        .peer-heatmap-row.is-current>td:first-child {
            border-left: 2px solid rgba(var(--ui-accent-rgb), 0.55);
            padding-left: 10px;
        }

        /* Group separator — thin left border on first col in a new group */
        .peer-heatmap-cell.group-start,
        .peer-heatmap-col-th.group-start {
            border-left: 1px solid rgba(255, 255, 255, 0.07);
            padding-left: 5px;
        }

        /* Column sort indicators */
        .peer-heatmap-col-th[data-col] {
            cursor: pointer;
            user-select: none;
        }

        .peer-heatmap-col-th[data-col]:hover {
            color: rgba(255, 255, 255, 0.65);
        }

        .peer-heatmap-col-th.sort-desc::after {
            content: ' ▾';
            opacity: 0.7;
        }

        .peer-heatmap-col-th.sort-asc::after {
            content: ' ▴';
            opacity: 0.7;
        }

        /* ══════════════════════════════════════════════════════════════════
           DEEP COMPARE OVERLAY  — v3 (mirrors result page design language)
           ══════════════════════════════════════════════════════════════════ */
        .xr-pc-overlay {
            position: fixed;
            inset: 0;
            z-index: 100001;
            background: rgba(6, 6, 10, 0.96);
            backdrop-filter: blur(32px);
            -webkit-backdrop-filter: blur(32px);
            display: none;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .xr-pc-overlay.active { display: block; }
        body:has(.xr-pc-overlay.active) #side-nav,
        body:has(.xr-pc-overlay.active) .report-nav { display: none !important; }
        .xr-pc-inner {
            max-width: 1440px;
            margin: 0 auto;
            padding: 36px 28px 100px;
        }
        /* Loading state — show spinner, hide content */
        .xr-pc-overlay.xr-pc-loading .xr-pc-inner { display: none; }
        .xr-pc-loading-screen {
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            gap: 20px;
        }
        .xr-pc-overlay.xr-pc-loading .xr-pc-loading-screen { display: flex; }
        .xr-pc-loading-ring-wrap {
            position: relative;
            width: 72px;
            height: 72px;
        }
        .xr-pc-loading-label {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.30);
            font-family: var(--mono-font);
        }
        .xr-pc-close {
            position: fixed;
            top: 16px;
            right: 20px;
            z-index: 100002;
            width: 44px; height: 44px;
            border-radius: 50%;
            background: rgba(255,255,255,0.10);
            border: 1px solid rgba(255,255,255,0.20);
            color: rgba(255,255,255,0.85);
            font-size: 22px;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: all 0.25s;
            box-shadow: 0 4px 20px rgba(0,0,0,0.5);
        }
        .xr-pc-close:hover { background: rgba(255,255,255,0.20); color: #fff; transform: scale(1.08); }
        /* ── Header ── */
        .xr-pc-header {
            text-align: center;
            margin-bottom: 32px;
            padding-top: 4px;
        }
        .xr-pc-title {
            font-family: var(--header-font);
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.55);
            margin-bottom: 8px;
        }
        .xr-pc-subtitle {
            font-size: 28px;
            font-weight: 900;
            letter-spacing: -0.03em;
            font-family: var(--header-font);
            margin-bottom: 6px;
            line-height: 1.1;
        }
        .xr-pc-tagline {
            font-size: 11px;
            color: rgba(255,255,255,0.28);
            font-weight: 500;
        }

        /* ── Company Overview Grid (below radar) ── */
        .xr-pc-co-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 14px;
            margin-bottom: 36px;
        }
        .xr-pc-co-card {
            background: rgba(12,12,16,0.80);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 16px;
            padding: 20px 18px 16px;
            position: relative;
            overflow: hidden;
            transition: border-color 0.25s, box-shadow 0.25s;
        }
        .xr-pc-co-card::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background-image: var(--noise-url);
            background-size: 160px 160px;
            opacity: 0.3;
            pointer-events: none;
            mix-blend-mode: overlay;
        }
        .xr-pc-co-card::after {
            content: '';
            position: absolute;
            top: 0; left: 15%; right: 15%; height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.10), transparent);
            pointer-events: none;
        }
        .xr-pc-co-card:hover { border-color: rgba(255,255,255,0.14); box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
        .xr-pc-co-card>* { position: relative; z-index: 1; }
        .xr-pc-co-verdict-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 12px;
        }
        .xr-pc-co-name {
            font-size: 15px;
            font-weight: 900;
            color: rgba(255,255,255,0.92);
            letter-spacing: -0.02em;
            line-height: 1.2;
        }
        .xr-pc-co-ticker {
            font-size: 10px;
            color: rgba(255,255,255,0.30);
            font-family: var(--mono-font);
            letter-spacing: 0.08em;
            margin-top: 1px;
        }
        .xr-pc-verdict-badge {
            font-size: 9px;
            font-weight: 900;
            letter-spacing: 0.08em;
            padding: 4px 12px;
            border-radius: 99px;
            display: inline-block;
            text-transform: uppercase;
            white-space: nowrap;
        }
        .xr-pc-co-xps-row {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-bottom: 10px;
        }
        .xr-pc-co-xps-num {
            font-family: var(--mono-font);
            font-size: 30px;
            font-weight: 900;
            letter-spacing: -0.04em;
            line-height: 1;
        }
        .xr-pc-co-xps-label {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.22);
            font-family: var(--mono-font);
        }
        .xr-pc-co-overview {
            font-size: 11px;
            color: rgba(255,255,255,0.40);
            line-height: 1.55;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: 10px;
        }
        .xr-pc-co-meta {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
        }
        .xr-pc-meta-pill {
            font-size: 9px;
            font-weight: 600;
            color: rgba(255,255,255,0.25);
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.07);
            padding: 2px 8px;
            border-radius: 99px;
            white-space: nowrap;
        }

        /* ── Radar Chart ── */
        .xr-pc-radar-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 14px;
            margin-bottom: 36px;
        }
        .xr-pc-radar-svg {
            max-width: 500px;
            width: 100%;
            aspect-ratio: 1 / 1;
        }
        .xr-pc-radar-legend {
            display: flex;
            gap: 14px;
            justify-content: center;
            flex-wrap: wrap;
        }
        .xr-pc-radar-legend-item {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 10px;
            font-weight: 700;
            color: rgba(255,255,255,0.55);
        }

        /* ── Section label ── */
        .xr-pc-section-label {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb),0.50);
            font-family: var(--mono-font);
            display: block;
            margin-bottom: 14px;
            padding-bottom: 10px;
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }

        /* ── Dimension grid — one row per dim, one col per company ── */
        .xr-pc-dims { display: flex; flex-direction: column; gap: 40px; margin-bottom: 48px; }
        .xr-pc-dim-row { }
        .xr-pc-dim-row-header {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-bottom: 12px;
            padding-bottom: 10px;
            border-bottom: 1px solid rgba(var(--dim-c),0.14);
        }
        .xr-pc-dim-row-label {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(var(--dim-c),0.80);
            font-family: var(--mono-font);
        }
        .xr-pc-dim-row-desc {
            font-size: 10px;
            color: rgba(255,255,255,0.25);
        }
        .xr-pc-dim-cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
            gap: 12px;
        }
        /* Each company dim card — grey borders only (no per-dim colour outlines) */
        .xr-pc-dim-card {
            background: rgba(12,12,16,0.80);
            border: 1px solid rgba(255,255,255,0.08);
            border-left: 2px solid rgba(255,255,255,0.14);
            border-radius: 14px;
            padding: 18px 16px 16px;
            display: flex;
            flex-direction: column;
            gap: 0;
            position: relative;
            overflow: hidden;
            transition: border-color 0.25s, box-shadow 0.25s;
            box-shadow: 0 2px 12px rgba(0,0,0,0.30);
        }
        .xr-pc-dim-card::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background-image: var(--noise-url);
            background-size: 160px 160px;
            opacity: 0.3;
            pointer-events: none;
        }
        .xr-pc-dim-card::after {
            content: '';
            position: absolute;
            top: 0; left: 15%; right: 30%; height: 1px;
            background: linear-gradient(90deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03), transparent);
            pointer-events: none;
        }
        .xr-pc-dim-card>* { position: relative; z-index: 1; }
        .xr-pc-dim-card:hover {
            border-color: rgba(255,255,255,0.18);
            box-shadow: 0 8px 32px rgba(0,0,0,0.45);
        }
        .xr-pc-dim-card--best { border-top: 2px solid rgba(8,209,129,0.35); }
        .xr-pc-dim-card--worst { border-top: 2px solid rgba(255,46,46,0.20); }

        /* Card header: company name + score dots row */
        .xr-pc-dim-card-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 10px;
        }
        .xr-pc-dim-card-co {
            display: flex;
            flex-direction: column;
            gap: 1px;
            min-width: 0;
        }
        .xr-pc-dim-card-coname {
            font-size: 12px;
            font-weight: 800;
            color: rgba(255,255,255,0.85);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .xr-pc-dim-card-ticker {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            color: rgba(var(--ui-accent-rgb),0.45);
            letter-spacing: 0.07em;
        }
        /* Score column: big number + dots + verdict label */
        .xr-pc-score-col {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 4px;
            flex-shrink: 0;
        }
        .xr-pc-score-num {
            font-family: var(--body-font, 'Inter', system-ui, sans-serif);
            font-size: 28px;
            font-weight: 900;
            letter-spacing: -0.03em;
            line-height: 1;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .xr-pc-score-dots {
            display: flex;
            gap: 3px;
            align-items: center;
        }
        .xr-pc-score-dot {
            width: 5px; height: 5px;
            border-radius: 50%;
            flex-shrink: 0;
        }
        .xr-pc-score-verdict {
            font-family: var(--mono-font);
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 2px 6px;
            border-radius: 99px;
            background: rgba(0,0,0,0.35);
            border: 1px solid currentColor;
            opacity: 0.90;
            white-space: nowrap;
        }
        /* Delta badge */
        .xr-pc-delta { font-size: 9px; font-weight: 800; font-family: var(--mono-font); display: inline-block; }
        .xr-pc-delta.positive { color: rgba(8,209,129,0.80); }
        .xr-pc-delta.negative { color: rgba(255,46,46,0.70); }
        /* Best/worst badges */
        .xr-pc-best-badge { font-size: 7px; font-weight: 800; color: rgba(8,209,129,0.70); background: rgba(8,209,129,0.08); padding: 2px 6px; border-radius: 99px; }
        .xr-pc-worst-badge { font-size: 7px; font-weight: 800; color: rgba(255,46,46,0.60); background: rgba(255,46,46,0.07); padding: 2px 6px; border-radius: 99px; }
        /* Oneliner — grey style, result-page inspired */
        .xr-pc-dim-oneliner {
            font-size: 12px;
            font-weight: 500;
            font-style: italic;
            font-family: 'Inter', system-ui, sans-serif;
            line-height: 1.55;
            color: rgba(255,255,255,0.52);
            background: rgba(255,255,255,0.025);
            border-left: 2px solid rgba(255,255,255,0.14);
            padding: 10px 14px 10px 16px;
            border-radius: 0 8px 8px 0;
            position: relative;
            margin-bottom: 12px;
        }
        .xr-pc-dim-oneliner::before {
            content: '"';
            position: absolute;
            left: -2px; top: 4px;
            font-size: 22px;
            color: rgba(255,255,255,0.12);
            font-style: normal;
            line-height: 1;
        }
        .xr-pc-dim-oneliner--loading {
            border-left-color: rgba(255,255,255,0.07);
            color: rgba(255,255,255,0.18);
            font-style: normal;
            font-weight: 400;
            font-size: 10.5px;
            background: none;
        }
        /* Body text — Inter 500 12px across the board */
        .xr-pc-dim-body {
            font-size: 12px;
            font-weight: 500;
            font-family: 'Inter', system-ui, sans-serif;
            line-height: 1.72;
            color: rgba(255,255,255,0.58);
            white-space: pre-wrap;
            word-break: break-word;
            border-top: 1px solid rgba(255,255,255,0.07);
            padding-top: 12px;
            margin-top: 4px;
        }
        .xr-pc-dim-body--loading {
            color: rgba(255,255,255,0.15);
            font-size: 11px;
        }

        /* ── Synthesis section (per-company) ── */
        .xr-pc-synthesis-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
            gap: 20px;
            margin-bottom: 48px;
            align-items: start;
        }
        .xr-pc-synth-col {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }
        .xr-pc-synth-col-header {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255,255,255,0.06);
            margin-bottom: 4px;
        }
        .xr-pc-synth-col-name {
            font-size: 14px;
            font-weight: 900;
            letter-spacing: -0.01em;
        }
        /* Verdict hero within compare */
        .xr-pc-verdict-word {
            font-family: var(--header-font);
            font-size: 22px;
            font-weight: 900;
            letter-spacing: -0.03em;
            background: var(--xr-verdict-grad, #fff);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .xr-pc-summary-text {
            font-size: 13px;
            line-height: 1.70;
            color: rgba(255,255,255,0.62);
        }
        /* Triptych cards in compare */
        .xr-pc-triptych { display: flex; flex-direction: column; gap: 8px; }
        .xr-pc-triptych-cell {
            border-radius: 12px;
            border: 1px solid rgba(255,255,255,0.07);
            padding: 12px 14px;
            background: rgba(255,255,255,0.015);
        }
        .xr-pc-triptych-label {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            display: block;
            margin-bottom: 5px;
            font-family: var(--mono-font);
        }
        .xr-pc-triptych-body {
            font-size: 12px;
            font-weight: 500;
            font-family: 'Inter', system-ui, sans-serif;
            line-height: 1.65;
            color: rgba(255,255,255,0.60);
        }
        /* Signal grid (moat / red flag / ai / gov) */
        .xr-pc-signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
        .xr-pc-signal-card {
            border-radius: 10px;
            padding: 10px 12px;
            background: rgba(255,255,255,0.02);
            border: 1px solid rgba(255,255,255,0.07);
        }
        .xr-pc-signal-label {
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            margin-bottom: 5px;
            font-family: var(--mono-font);
        }
        .xr-pc-signal-body {
            font-size: 12px;
            font-weight: 500;
            font-family: 'Inter', system-ui, sans-serif;
            line-height: 1.55;
            color: rgba(255,255,255,0.55);
        }
        /* Summary text */
        .xr-pc-summary-text {
            font-size: 12px;
            font-weight: 500;
            font-family: 'Inter', system-ui, sans-serif;
            line-height: 1.70;
            color: rgba(255,255,255,0.60);
        }
        .xr-pc-si-grid { display: flex; flex-direction: column; gap: 8px; }
        .xr-pc-si-card {
            border-radius: 10px;
            padding: 10px 12px 10px 14px;
            background: rgba(12,12,16,0.70);
            border: 1px solid rgba(255,255,255,0.07);
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }
        .xr-pc-si-avatar {
            width: 32px; height: 32px;
            border-radius: 50%;
            object-fit: cover;
            flex-shrink: 0;
            border: 1.5px solid rgba(255,255,255,0.12);
        }
        .xr-pc-si-name {
            font-size: 10px;
            font-weight: 800;
            color: rgba(255,255,255,0.75);
            margin-bottom: 3px;
        }
        .xr-pc-si-view {
            font-size: 12px;
            font-weight: 500;
            font-family: 'Inter', system-ui, sans-serif;
            line-height: 1.55;
            color: rgba(255,255,255,0.50);
        }
        /* XPS score display in co-cards — result-page style */
        .xr-pc-co-xps-row {
            display: flex;
            align-items: baseline;
            gap: 10px;
            margin-bottom: 12px;
        }
        .xr-pc-co-xps-wrap {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-bottom: 12px;
        }
        .xr-pc-co-xps-header {
            display: flex;
            align-items: baseline;
            gap: 8px;
        }
        .xr-pc-co-xps-num {
            font-family: var(--header-font);
            font-size: 32px;
            font-weight: 900;
            letter-spacing: -0.04em;
            line-height: 1;
            background: var(--xps-grad, rgba(255,255,255,0.5));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .xr-pc-co-xps-label {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.22);
            font-family: var(--mono-font);
        }
        .xr-pc-co-xps-segs {
            display: flex;
            gap: 3px;
            align-items: center;
        }
        .xr-pc-co-xps-seg {
            height: 3px;
            width: 20px;
            border-radius: 2px;
            background: rgba(255,255,255,0.10);
        }
        .xr-pc-co-xps-seg.filled {
            background: var(--xps-seg-color, rgba(255,255,255,0.4));
        }
        .xr-pc-co-xps-seg.filled.dim {
            opacity: 0.55;
        }
        /* Report link chip */
        .xr-pc-report-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.06em;
            color: rgba(var(--ui-accent-rgb), 0.65);
            text-decoration: none;
            padding: 3px 10px;
            border-radius: 99px;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.20);
            background: rgba(var(--ui-accent-rgb), 0.06);
            transition: all 0.2s;
            cursor: pointer;
            margin-top: 8px;
        }
        .xr-pc-report-link:hover {
            color: rgba(var(--ui-accent-rgb), 0.90);
            background: rgba(var(--ui-accent-rgb), 0.12);
            border-color: rgba(var(--ui-accent-rgb), 0.40);
        }
        .xr-compare-mode .report-card {
            position: relative;
            padding-right: 38px !important;
        }
        .xr-compare-cb {
            display: none; /* Hidden by default — compare mode only */
            position: absolute;
            top: 10px; right: 10px;
            z-index: 5;
            width: 24px; height: 24px;
            border-radius: 7px;
            border: 2px solid rgba(255,255,255,0.20);
            background: rgba(0,0,0,0.65);
            backdrop-filter: blur(6px);
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            color: transparent;
            font-size: 14px;
            font-weight: 900;
        }
        @media (hover: hover) {
            .report-card:hover .xr-compare-cb {
                display: flex;
                opacity: 0.45;
            }
            .report-card:hover .xr-compare-cb:hover {
                border-color: rgba(var(--ui-accent-rgb),0.60);
                background: rgba(var(--ui-accent-rgb),0.15);
                opacity: 1;
            }
        }
        .xr-compare-mode .xr-compare-cb {
            display: flex !important;
            opacity: 1 !important;
            border-color: rgba(255,255,255,0.30);
            background: rgba(0,0,0,0.75);
        }
        .xr-compare-cb.checked {
            background: rgba(var(--ui-accent-rgb),0.30) !important;
            border-color: var(--ui-accent) !important;
            color: var(--ui-accent) !important;
            display: flex !important;
            opacity: 1 !important;
        }
        .xr-compare-mode .report-card.xr-compare-selected {
            outline: 2px solid rgba(var(--ui-accent-rgb), 0.40);
            outline-offset: -2px;
        }

        /* Floating Compare Action Bar */
        .xr-compare-fab {
            position: fixed;
            bottom: 24px;
            left: 50%; transform: translateX(-50%);
            z-index: 100002;
            display: none;
            align-items: center;
            gap: 12px;
            padding: 10px 20px;
            background: rgba(10,10,14,0.92);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(var(--ui-accent-rgb),0.25);
            border-radius: 99px;
            box-shadow: 0 8px 32px rgba(0,0,0,0.5);
        }
        .xr-compare-fab.visible { display: flex; }
        .xr-compare-fab-count {
            font-size: 11px;
            font-weight: 800;
            color: var(--ui-accent);
            font-family: var(--mono-font);
        }
        .xr-compare-fab-btn {
            padding: 7px 18px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            cursor: pointer;
            font-family: inherit;
            -webkit-appearance: none;
            appearance: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #fff;
            background: linear-gradient(135deg, hsla(240,100%,65%,0.30) 0%, hsla(190,100%,60%,0.22) 100%);
            border: 1px solid hsla(210, 100%, 72%, 0.55);
            box-shadow: 0 0 14px hsla(220,100%,70%,0.18), inset 0 1px 0 rgba(255,255,255,0.10);
            transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
        }
        .xr-compare-fab-btn:hover {
            color: #fff;
            border-color: hsla(190, 100%, 72%, 0.80);
            background: linear-gradient(135deg, hsla(240,100%,65%,0.42) 0%, hsla(190,100%,60%,0.32) 100%);
            box-shadow: 0 0 22px hsla(220,100%,70%,0.32), inset 0 1px 0 rgba(255,255,255,0.14);
        }
        .xr-compare-fab-cancel {
            font-size: 10px;
            font-weight: 600;
            color: rgba(255,255,255,0.35);
            background: none;
            border: none;
            cursor: pointer;
            padding: 4px 8px;
        }
        .xr-compare-fab-cancel:hover { color: rgba(255,255,255,0.6); }

        /* ────────────────────────────────────────────────────────────────────── */

        .bubble-timeline-header {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
        }

        .bubble-timeline-title {
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: rgba(255, 255, 255, 0.65);
            font-family: var(--header-font);
        }

        .bubble-timeline-subtitle {
            font-size: 9px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.22);
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            letter-spacing: 0.01em;
            margin-top: 4px;
            line-height: 1.5;
        }

        .bubble-timeline-count {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            padding: 3px 9px;
            white-space: nowrap;
            flex-shrink: 0;
            align-self: center;
        }

        .bubble-timeline-svg-wrap {
            width: 100%;
            overflow-x: auto;
            overflow-y: visible;
            padding-bottom: 4px;
        }

        .bubble-timeline-svg-wrap::-webkit-scrollbar {
            height: 3px;
        }

        .bubble-timeline-svg-wrap::-webkit-scrollbar-track {
            background: transparent;
        }

        .bubble-timeline-svg-wrap::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.12);
            border-radius: 2px;
        }

        .bt-bubble {
            cursor: pointer;
            transition: opacity 0.18s, filter 0.18s;
        }

        .bt-bubble:hover {
            filter: brightness(1.35) drop-shadow(0 0 6px currentColor);
            opacity: 1 !important;
        }

        .bt-bubble.bt-current {
            filter: drop-shadow(0 0 8px currentColor);
        }

        .bt-axis-line {
            stroke: rgba(255, 255, 255, 0.07);
            stroke-width: 1;
        }

        .bt-tick {
            stroke: rgba(255, 255, 255, 0.10);
            stroke-width: 1;
        }

        .bt-label {
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            font-size: 9px;
            fill: rgba(255, 255, 255, 0.28);
            text-anchor: middle;
        }

        .bt-bubble-label {
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            font-size: 8px;
            fill: rgba(255, 255, 255, 0.50);
            text-anchor: middle;
            pointer-events: none;
        }

        .bt-verdict-label {
            font-family: var(--header-font);
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-anchor: middle;
            pointer-events: none;
            text-transform: uppercase;
        }

        .bt-connector {
            stroke: rgba(255, 255, 255, 0.05);
            stroke-width: 1;
            stroke-dasharray: 3 4;
            fill: none;
        }

        /* ── News Feed Widget ─────────────────────────────────────────────── */
        .news-feed-list {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .news-feed-item {
            display: flex;
            align-items: stretch;
            gap: 14px;
            padding: 14px 14px;
            border-radius: 12px;
            text-decoration: none;
            transition: background 0.2s, transform 0.25s, opacity 0.35s;
            opacity: 0;
            transform: translateY(8px);
            background: rgba(255,255,255,0.015);
            border: 1px solid transparent;
            position: relative;
        }

        .news-feed-item.nf-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .news-feed-item:hover {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(255,255,255,0.06);
        }

        .news-feed-item-thumb {
            width: 80px;
            min-height: 58px;
            border-radius: 8px;
            background-size: cover;
            background-position: center;
            background-color: rgba(255,255,255,0.04);
            flex-shrink: 0;
            position: relative;
            overflow: hidden;
        }
        .news-feed-item-thumb::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 8px;
            border: 1px solid rgba(255,255,255,0.06);
            pointer-events: none;
        }
        .news-feed-item-thumb-icon {
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%);
            color: rgba(255,255,255,0.10);
        }

        .news-feed-item-content {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .news-feed-item-title {
            font-size: 13px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.88);
            line-height: 1.42;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            transition: color 0.15s;
        }

        .news-feed-item:hover .news-feed-item-title {
            color: #fff;
        }

        .news-feed-item-meta {
            margin-top: 6px;
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.30);
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
        }

        .news-feed-item-source {
            color: rgba(var(--ui-accent-rgb), 0.70);
            font-weight: 700;
            font-size: 10px;
            letter-spacing: 0.02em;
        }

        .news-feed-item-date {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.30);
            font-weight: 500;
        }

        .news-feed-item-dot {
            width: 2.5px;
            height: 2.5px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.15);
            flex-shrink: 0;
        }

        .news-feed-item-arrow {
            flex-shrink: 0;
            width: 14px;
            height: 14px;
            opacity: 0;
            margin-top: 3px;
            transition: opacity 0.2s, transform 0.2s;
            align-self: center;
        }

        .news-feed-item:hover .news-feed-item-arrow {
            opacity: 0.5;
            transform: translate(2px, -2px);
        }

        .news-feed-show-more {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            width: 100%;
            padding: 10px 0;
            margin-top: 2px;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.6);
            background: transparent;
            border: 1px dashed rgba(var(--ui-accent-rgb), 0.15);
            border-radius: 10px;
            cursor: pointer;
            transition: color 0.15s, border-color 0.15s, background 0.15s;
        }
        .news-feed-show-more:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            background: rgba(var(--ui-accent-rgb), 0.05);
        }

        .news-feed-empty,
        .news-feed-error {
            padding: 20px 0;
            text-align: center;
            font-size: 12px;
            color: rgba(255, 255, 255, 0.3);
        }

        .news-feed-error {
            color: rgba(230, 100, 80, 0.7);
            background: rgba(200, 70, 60, 0.06);
            border-radius: 8px;
            padding: 14px 16px;
            text-align: left;
        }

        .news-feed-error-title {
            font-size: 12px;
            font-weight: 700;
            color: rgba(230, 100, 80, 0.9);
            margin-bottom: 4px;
        }

        .news-feed-loading {
            display: flex;
            flex-direction: column;
            gap: 2px;
            padding: 4px 0 8px;
        }

        .news-feed-skeleton {
            display: flex;
            gap: 14px;
            padding: 14px;
            border-radius: 12px;
            align-items: stretch;
        }

        .news-feed-skeleton-thumb {
            width: 80px;
            min-height: 58px;
            border-radius: 8px;
            background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.04) 75%);
            background-size: 200% 100%;
            animation: newsSkel 1.4s ease-in-out infinite;
            flex-shrink: 0;
        }

        .news-feed-skeleton-lines {
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 8px;
            justify-content: center;
        }

        .news-feed-skeleton-line {
            height: 10px;
            border-radius: 4px;
            background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.08) 50%, rgba(255,255,255,0.04) 75%);
            background-size: 200% 100%;
            animation: newsSkel 1.4s ease-in-out infinite;
        }

        .news-feed-skeleton-line.short { width: 60%; }

        .news-feed-skeleton:nth-child(2) .news-feed-skeleton-thumb,
        .news-feed-skeleton:nth-child(2) .news-feed-skeleton-line { animation-delay: 0.1s; }
        .news-feed-skeleton:nth-child(3) .news-feed-skeleton-thumb,
        .news-feed-skeleton:nth-child(3) .news-feed-skeleton-line { animation-delay: 0.2s; }
        .news-feed-skeleton:nth-child(4) .news-feed-skeleton-thumb,
        .news-feed-skeleton:nth-child(4) .news-feed-skeleton-line { animation-delay: 0.15s; }
        .news-feed-skeleton:nth-child(5) .news-feed-skeleton-thumb,
        .news-feed-skeleton:nth-child(5) .news-feed-skeleton-line { animation-delay: 0.25s; }

        @keyframes newsSkel {
            0% {
                background-position: 200% 0;
            }

            100% {
                background-position: -200% 0;
            }
        }

        .news-feed-header-meta {
            display: none;
        }

        /* no longer used — kept for compat */
        .news-feed-cache-badge {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.3);
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 20px;
            padding: 2px 8px;
        }

        .news-feed-refresh-btn {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.6);
            background: transparent;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.18);
            border-radius: 20px;
            padding: 3px 10px;
            cursor: pointer;
            transition: color 0.15s, border-color 0.15s, background 0.15s;
            flex-shrink: 0;
        }

        .news-feed-refresh-btn:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            border-color: rgba(var(--ui-accent-rgb), 0.5);
            background: rgba(var(--ui-accent-rgb), 0.07);
        }

        .news-feed-refresh-btn svg {
            width: 10px;
            height: 10px;
        }

        .news-feed-footer {
            margin-top: 8px;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }

        .news-feed-footer-left {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .news-feed-footer-time {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.35);
        }

        .news-feed-footer-link {
            font-size: 9.5px;
            font-weight: 600;
            color: rgba(var(--ui-accent-rgb), 0.5);
            text-decoration: none;
            transition: color 0.15s;
            white-space: nowrap;
        }

        .news-feed-footer-link:hover {
            color: rgba(var(--ui-accent-rgb), 0.85);
        }

        @media (max-width: 480px) {
            .news-feed-item-thumb {
                width: 56px;
                min-height: 44px;
            }
            .news-feed-item {
                gap: 10px;
                padding: 12px 10px;
            }
            .news-feed-skeleton-thumb {
                width: 56px;
                min-height: 44px;
            }
        }

        /* ── Lazy-load sections (Chart, GF Financials, GF Stock Summary) ── */
        .lazy-section {
            margin: 0 0 20px 0;
            border-radius: 14px;
            overflow: hidden;
            background: rgba(8, 8, 10, 0.82);
            border: 1px solid var(--glass-border);
            backdrop-filter: blur(56px);
            -webkit-backdrop-filter: blur(56px);
        }

        .lazy-section-toggle {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 24px;
            cursor: pointer;
            user-select: none;
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            width: 100%;
            text-align: left;
            gap: 12px;
            transition: background 0.15s;
        }

        .lazy-section-toggle:hover {
            background: rgba(255, 255, 255, 0.025);
        }

        .lazy-section-toggle-left {
            display: flex;
            align-items: baseline;
            gap: 10px;
        }

        .lazy-section-toggle-title {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            background: linear-gradient(90deg, var(--verdict-buy), var(--verdict-strong));
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            font-family: var(--header-font);
        }

        .lazy-section-toggle-sub {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.22);
            font-family: 'SF Mono', 'Menlo', monospace;
        }

        .lazy-section-chevron {
            flex-shrink: 0;
            color: rgba(8, 209, 129, 0.45);
            transition: transform 0.22s ease;
        }

        .lazy-section.open .lazy-section-chevron {
            transform: rotate(180deg);
            color: rgba(48, 126, 255, 0.65);
        }

        .lazy-section-body {
            display: none;
            padding: 0 24px 24px;
        }

        .lazy-section.open .lazy-section-body {
            display: block;
        }

        .lazy-section.open .lazy-section-hint {
            display: none !important;
        }

        .lazy-section-hint {
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            gap: 8px;
            margin: 0 24px 18px;
            padding: 8px 16px;
            background: linear-gradient(135deg, rgba(8, 209, 129, 0.08), rgba(48, 126, 255, 0.06));
            border: 1px solid rgba(8, 209, 129, 0.22);
            border-radius: 6px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(8, 209, 129, 0.8);
            font-family: 'SF Mono', 'Menlo', monospace;
            cursor: pointer;
            transition: color 0.15s, border-color 0.15s, background 0.15s;
        }

        .lazy-section-hint::before {
            content: '▶';
            font-size: 7px;
            color: rgba(8, 209, 129, 0.7);
            flex-shrink: 0;
            transition: color 0.15s;
        }

        .lazy-section-hint:hover,
        .lazy-section:hover .lazy-section-hint {
            color: rgba(48, 126, 255, 0.9);
            border-color: rgba(48, 126, 255, 0.35);
            background: linear-gradient(135deg, rgba(48, 126, 255, 0.1), rgba(8, 209, 129, 0.06));
        }

        .lazy-section-hint:hover::before,
        .lazy-section:hover .lazy-section-hint::before {
            color: rgba(48, 126, 255, 0.8);
        }

        .engine-moat-banner {
            background: radial-gradient(100% 120% at 0% 0%, rgba(var(--ui-accent-rgb), 0.12) 0%, rgba(20, 22, 28, 0.75) 60%, rgba(10, 11, 14, 0.90) 100%);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.24);
            border-radius: 14px;
            padding: 24px 28px;
            margin: 0 0 16px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08);
            transition: border-color 0.25s ease, box-shadow 0.25s ease;
        }

        .engine-moat-banner:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.40);
            box-shadow: 0 14px 44px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.12);
        }

        .engine-moat-banner::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2.5px;
            background: linear-gradient(90deg, var(--ui-accent) 0%, rgba(var(--ui-accent-rgb), 0.35) 60%, transparent 100%);
        }

        .engine-banner-topline {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 14px;
            flex-wrap: wrap;
        }

        .engine-banner-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 10px;
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: rgba(var(--ui-accent-rgb), 0.95);
            font-weight: 800;
            background: rgba(var(--ui-accent-rgb), 0.10);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.25);
            padding: 4px 10px;
            border-radius: 6px;
        }

        .engine-banner-badge svg {
            color: var(--ui-accent);
            flex-shrink: 0;
        }

        .engine-banner-status {
            font-size: 9.5px;
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.45);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            padding: 3px 8px;
            border-radius: 4px;
        }

        .engine-banner-quote {
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            font-size: 21px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.98);
            line-height: 1.48;
            letter-spacing: -0.015em;
            text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
        }

        /* Legacy backward compatibility for .engine-moat-banner .label / .value */
        .engine-moat-banner .label {
            font-size: 9px;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: rgba(var(--ui-accent-rgb), 0.7);
            font-weight: 800;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .engine-moat-banner .label svg {
            opacity: 0.6;
        }

        .engine-moat-banner .value {
            font-size: 21px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.95);
            line-height: 1.5;
            letter-spacing: -0.01em;
        }

        .dimension-info-box {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 12px;
            padding: 13px 16px;
            margin-bottom: 14px;
        }

        .dimension-info-box .label {
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.35);
            font-weight: 700;
            margin-bottom: 6px;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .dimension-info-box .label svg {
            opacity: 0.4;
            color: white;
        }

        .dimension-info-box .content {
            font-size: 13px;
            font-weight: 700;
            font-style: normal;
            color: rgba(255, 255, 255, 0.92);
            line-height: 1.5;
        }

        /* Bottleneck Outline in Company Overview (Legacy & Fallback) */
        .engine-bottleneck-box {
            background: radial-gradient(120% 120% at 0% 0%, rgba(244, 63, 94, 0.08) 0%, rgba(13, 15, 18, 0.85) 70%);
            border: 1px solid rgba(244, 63, 94, 0.24);
            border-radius: 14px;
            padding: 22px 24px;
            margin-top: 12px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .engine-bottleneck-box:hover {
            border-color: rgba(244, 63, 94, 0.45);
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        .engine-bottleneck-box::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2.5px;
            background: linear-gradient(90deg, #f43f5e 0%, rgba(244, 63, 94, 0.1) 100%);
        }

        .engine-bottleneck-box .label {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(244, 63, 94, 0.95);
            font-weight: 800;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 7px;
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
        }

        .engine-bottleneck-box .label svg {
            opacity: 0.85;
            color: rgba(244, 63, 94, 0.95);
        }

        .engine-bottleneck-box .content {
            font-size: 13px;
            font-style: normal;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.72;
        }

        @media (max-width: 768px) {
            .verdict-header-row {
                flex-direction: column;
            }

            .verdict-grid {
                grid-template-columns: 1fr;
            }

            .verdict-badge {
                min-width: 0;
                width: 100%;
            }
        }

        /* ══════════════════════════════════════════════════════════════════
           BUSINESS SNAPSHOT & ECONOMIC ENGINE DASHBOARD (INSTITUTIONAL GRADE)
           ══════════════════════════════════════════════════════════════════ */

        .company-engine-dashboard {
            display: flex;
            flex-direction: column;
            gap: 20px;
            width: 100%;
            margin-top: 6px;
        }

        /* ── Section Dividers with Numbers & Sub-labels ── */
        .engine-section-header {
            display: flex;
            align-items: center;
            gap: 14px;
            margin-bottom: 14px;
            margin-top: 4px;
            flex-wrap: wrap;
        }

        .engine-section-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 4px 10px 4px 6px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 6px;
        }

        .engine-section-index {
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-size: 9.5px;
            font-weight: 800;
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.14);
            padding: 1px 6px;
            border-radius: 4px;
            letter-spacing: 0.06em;
        }

        .engine-section-name {
            font-size: 10.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: rgba(255, 255, 255, 0.88);
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
        }

        .engine-section-rule {
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.02) 100%);
            min-width: 40px;
        }

        .engine-section-hint {
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.32);
        }

        /* ── Commercial Model group: mix + unit + sales ── */
        .engine-commercial-group {
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        .engine-commercial-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }

        /* ── Competitive Structure group: moat + bottleneck ── */
        .engine-competitive-group {
            display: flex;
            flex-direction: column;
            gap: 0;
            padding-top: 14px;
            border-top: 1px dashed rgba(255, 255, 255, 0.08);
        }

        .engine-competitive-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
        }

        /* ── Universal Engine Card System ── */
        .engine-card,
        .engine-grid-card,
        .engine-moat-card,
        .engine-mix-box {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.005) 100%), rgba(13, 14, 18, 0.72);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 14px;
            padding: 22px 24px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .engine-card:hover,
        .engine-grid-card:hover,
        .engine-moat-card:hover,
        .engine-mix-box:hover {
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        .engine-card::before,
        .engine-grid-card::before,
        .engine-moat-card::before,
        .engine-mix-box::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2.5px;
            background: linear-gradient(90deg, rgba(var(--ui-accent-rgb), 0.6) 0%, rgba(var(--ui-accent-rgb), 0.08) 100%);
        }

        /* Top header inside each card */
        .engine-card-top {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .engine-card-icon-pill {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            border: 1px solid transparent;
        }

        .engine-card-title-block {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .engine-card-kicker {
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
        }

        .engine-card-title {
            margin: 0;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
            line-height: 1.25;
        }

        .engine-card-tag-pill {
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            padding: 3px 8px;
            border-radius: 4px;
            border: 1px solid transparent;
            flex-shrink: 0;
            white-space: nowrap;
        }

        /* ── Specific Card Color Themes ── */
        /* Unit of Value — Emerald */
        .engine-card--unit,
        .engine-grid-card--unit {
            border-color: rgba(8, 209, 129, 0.20);
            background: radial-gradient(120% 120% at 0% 0%, rgba(8, 209, 129, 0.07) 0%, rgba(13, 15, 18, 0.85) 70%);
        }
        .engine-card--unit:hover,
        .engine-grid-card--unit:hover {
            border-color: rgba(8, 209, 129, 0.40);
        }
        .engine-card--unit::before,
        .engine-grid-card--unit::before {
            background: linear-gradient(90deg, #08d181 0%, rgba(8, 209, 129, 0.1) 100%);
        }
        .engine-card-icon-pill--unit {
            background: rgba(8, 209, 129, 0.12);
            border-color: rgba(8, 209, 129, 0.28);
            color: #08d181;
        }
        .engine-card-title--unit {
            color: #08d181;
        }
        .engine-card-tag-pill--unit {
            background: rgba(8, 209, 129, 0.08);
            border-color: rgba(8, 209, 129, 0.22);
            color: rgba(8, 209, 129, 0.92);
        }

        /* Revenue & Profit Mix — Amber / Gold */
        .engine-card--mix,
        .engine-mix-box {
            border-color: rgba(245, 158, 11, 0.20);
            background: radial-gradient(120% 120% at 0% 0%, rgba(245, 158, 11, 0.07) 0%, rgba(13, 15, 18, 0.85) 70%);
        }
        .engine-card--mix:hover,
        .engine-mix-box:hover {
            border-color: rgba(245, 158, 11, 0.40);
        }
        .engine-card--mix::before,
        .engine-mix-box::before {
            background: linear-gradient(90deg, #f59e0b 0%, rgba(245, 158, 11, 0.1) 100%);
        }
        .engine-card-icon-pill--mix {
            background: rgba(245, 158, 11, 0.12);
            border-color: rgba(245, 158, 11, 0.28);
            color: #f59e0b;
        }
        .engine-card-title--mix {
            color: #f59e0b;
        }
        .engine-card-tag-pill--mix {
            background: rgba(245, 158, 11, 0.08);
            border-color: rgba(245, 158, 11, 0.22);
            color: rgba(245, 158, 11, 0.92);
        }

        /* Sales Motion — Electric Blue */
        .engine-card--sales,
        .engine-grid-card--sales {
            border-color: rgba(48, 126, 255, 0.20);
            background: radial-gradient(120% 120% at 0% 0%, rgba(48, 126, 255, 0.07) 0%, rgba(13, 15, 18, 0.85) 70%);
        }
        .engine-card--sales:hover,
        .engine-grid-card--sales:hover {
            border-color: rgba(48, 126, 255, 0.40);
        }
        .engine-card--sales::before,
        .engine-grid-card--sales::before {
            background: linear-gradient(90deg, #307eff 0%, rgba(48, 126, 255, 0.1) 100%);
        }
        .engine-card-icon-pill--sales {
            background: rgba(48, 126, 255, 0.12);
            border-color: rgba(48, 126, 255, 0.28);
            color: #307eff;
        }
        .engine-card-title--sales {
            color: #307eff;
        }
        .engine-card-tag-pill--sales {
            background: rgba(48, 126, 255, 0.08);
            border-color: rgba(48, 126, 255, 0.22);
            color: rgba(48, 126, 255, 0.92);
        }

        /* The Moat — Emerald / Mint */
        .engine-card--moat,
        .engine-moat-card {
            border-color: rgba(16, 185, 129, 0.24);
            background: radial-gradient(120% 120% at 0% 0%, rgba(16, 185, 129, 0.08) 0%, rgba(13, 15, 18, 0.85) 70%);
        }
        .engine-card--moat:hover,
        .engine-moat-card:hover {
            border-color: rgba(16, 185, 129, 0.45);
        }
        .engine-card--moat::before,
        .engine-moat-card::before {
            background: linear-gradient(90deg, #10b981 0%, rgba(16, 185, 129, 0.1) 100%);
        }
        .engine-card-icon-pill--moat {
            background: rgba(16, 185, 129, 0.12);
            border-color: rgba(16, 185, 129, 0.28);
            color: #10b981;
        }
        .engine-card-title--moat {
            color: #10b981;
        }
        .engine-card-tag-pill--moat {
            background: rgba(16, 185, 129, 0.08);
            border-color: rgba(16, 185, 129, 0.22);
            color: rgba(16, 185, 129, 0.92);
        }

        /* The Bottleneck — Crimson / Coral */
        .engine-card--bottleneck {
            border-color: rgba(244, 63, 94, 0.24);
            background: radial-gradient(120% 120% at 0% 0%, rgba(244, 63, 94, 0.08) 0%, rgba(13, 15, 18, 0.85) 70%);
        }
        .engine-card--bottleneck:hover {
            border-color: rgba(244, 63, 94, 0.45);
        }
        .engine-card--bottleneck::before {
            background: linear-gradient(90deg, #f43f5e 0%, rgba(244, 63, 94, 0.1) 100%);
        }
        .engine-card-icon-pill--bottleneck {
            background: rgba(244, 63, 94, 0.12);
            border-color: rgba(244, 63, 94, 0.28);
            color: #f43f5e;
        }
        .engine-card-title--bottleneck {
            color: #f43f5e;
        }
        .engine-card-tag-pill--bottleneck {
            background: rgba(244, 63, 94, 0.08);
            border-color: rgba(244, 63, 94, 0.22);
            color: rgba(244, 63, 94, 0.92);
        }

        /* ── Typographic Content Formatting & Scannability ── */
        .engine-card-body {
            display: flex;
            flex-direction: column;
            gap: 10px;
            flex: 1;
        }

        .engine-lead-p {
            font-size: 13.5px;
            font-weight: 500;
            line-height: 1.72;
            color: rgba(255, 255, 255, 0.95);
            margin: 0;
            letter-spacing: -0.005em;
            font-family: var(--body-font, system-ui, sans-serif);
        }

        .engine-body-p {
            font-size: 13px;
            font-weight: 400;
            line-height: 1.75;
            color: rgba(255, 255, 255, 0.74);
            margin: 0;
            letter-spacing: 0;
            font-family: var(--body-font, system-ui, sans-serif);
        }

        .engine-stat-highlight {
            font-family: var(--mono-font, 'SF Mono', 'Menlo', monospace);
            font-weight: 700;
            font-size: 0.92em;
            color: #ffffff;
            background: rgba(255, 255, 255, 0.07);
            border: 1px solid rgba(255, 255, 255, 0.13);
            padding: 0px 5px;
            border-radius: 4px;
            display: inline-block;
            line-height: 1.35;
            letter-spacing: -0.01em;
            font-variant-numeric: tabular-nums;
            vertical-align: baseline;
            transition: background 0.15s ease, border-color 0.15s ease;
        }

        .engine-stat-highlight:hover {
            background: rgba(255, 255, 255, 0.14);
            border-color: rgba(255, 255, 255, 0.28);
        }

        @media (max-width: 900px) {
            .engine-commercial-grid {
                grid-template-columns: 1fr;
            }
            .engine-competitive-grid {
                grid-template-columns: 1fr;
            }
            .engine-section-header {
                margin-bottom: 10px;
            }

            /* Fix peer context scrolling on mobile */
            .cube-content {
                max-height: none !important;
                overflow-y: visible !important;
            }

            /* Reduce moat banner text size on mobile — 22px is too wide */
            .engine-moat-banner .value {
                font-size: 17px !important;
            }
        }

        .asymmetry-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-family: var(--display-font);
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.35);
            font-weight: 700;
            margin-bottom: 12px;
        }

        .asymmetry-value {
            color: rgba(255, 255, 255, 0.85);
            font-size: 12px;
            letter-spacing: 0.06em;
            font-variant-numeric: tabular-nums;
        }

        .asymmetry-scale {
            display: block;
            width: 100%;
            margin-top: 0;
        }

        .asymmetry-tick {
            height: 28px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.18);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.45);
            background: rgba(255, 255, 255, 0.02);
            transition: all 0.4s ease;
        }

        .asymmetry-tick.active {
            color: white;
        }

        .asymmetry-tick.active.tick-1 {
            background: rgba(195, 69, 61, 0.3);
            border-color: rgba(195, 69, 61, 0.55);
        }

        .asymmetry-tick.active.tick-2 {
            background: rgba(232, 200, 74, 0.3);
            border-color: rgba(232, 200, 74, 0.55);
        }

        .asymmetry-tick.active.tick-3 {
            background: rgba(187, 204, 220, 0.25);
            border-color: rgba(187, 204, 220, 0.5);
        }

        .asymmetry-tick.active.tick-4 {
            background: rgba(var(--ui-accent-rgb), 0.3);
            border-color: rgba(var(--ui-accent-rgb), 0.55);
        }

        .asymmetry-tick.active.tick-5 {
            background: rgba(85, 158, 97, 0.4);
            border-color: rgba(85, 158, 97, 0.65);
        }

        .asymmetry-tick.active.tick-last {
            font-weight: 800;
        }

        .asymmetry-summary {
            margin-top: 10px;
            margin-bottom: 0;
            font-size: 12px;
            font-weight: 500;
            line-height: 1.6;
            font-family: var(--body-font);
            color: rgba(255, 255, 255, 0.75);
            padding: 10px 14px;
            background: rgba(255, 255, 255, 0.03);
            border-radius: 10px;
            border-left: 3px solid rgba(255, 255, 255, 0.1);
        }

        .asymmetry-summary p {
            margin: 0 0 8px 0;
        }

        .asymmetry-summary p:last-child {
            margin-bottom: 0;
        }

        /* ── Asymmetry Zones: Upside / Left-Tail split layout ── */
        .asym-zones-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }

        @media (max-width: 640px) {
            .asym-zones-grid {
                grid-template-columns: 1fr;
            }
        }

        /* ── Unified asymmetry list (up + down in one section) ── */
        .asym-unified-list {
            list-style: none;
            margin: 10px 0 0 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .asym-item {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            font-size: 12px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.75);
        }

        .asym-item-badge {
            flex-shrink: 0;
            font-size: 9px;
            font-weight: 800;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 1px;
            letter-spacing: 0;
            font-family: var(--header-font);
        }

        .asym-badge-up {
            background: color-mix(in srgb, var(--score-5) 15%, transparent);
            border: 1px solid color-mix(in srgb, var(--score-5) 30%, transparent);
            color: var(--score-5);
        }

        .asym-badge-dn {
            background: color-mix(in srgb, var(--score-1) 15%, transparent);
            border: 1px solid color-mix(in srgb, var(--score-1) 30%, transparent);
            color: var(--score-1);
        }

        .asym-zone {
            border-radius: 12px;
            padding: 14px 16px 12px;
        }

        .asym-zone--upside {
            background: color-mix(in srgb, var(--score-5) 5%, transparent);
            border: 1px solid color-mix(in srgb, var(--score-5) 14%, transparent);
        }

        .asym-zone--downside {
            background: color-mix(in srgb, var(--score-1) 5%, transparent);
            border: 1px solid color-mix(in srgb, var(--score-1) 14%, transparent);
        }

        .asym-zone-header {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            margin-bottom: 12px;
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
        }

        .asym-zone--upside .asym-zone-header {
            color: rgba(79, 159, 154, 0.85);
        }

        .asym-zone--downside .asym-zone-header {
            color: rgba(195, 69, 61, 0.85);
        }

        .asym-zone-header svg {
            opacity: 0.7;
            flex-shrink: 0;
        }

        .asym-zone-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 7px;
        }

        .asym-zone-list li {
            font-size: 12px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.72);
            padding-left: 14px;
            position: relative;
        }

        .asym-zone-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 6px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--asym-dot, rgba(255, 255, 255, 0.3));
            opacity: 0.7;
        }

        .asym-empty {
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.3);
            font-style: italic;
            margin: 0;
        }

        .score-container {
            margin: 8px 0 12px 0;
        }

        .score-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 6px;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.4);
        }

        .score-val {
            font-family: "SF Pro Display", sans-serif;
            font-size: 16px;
            font-weight: 700;
            color: #fff;
            letter-spacing: -0.02em;
        }

        .progress-bar-container {
            width: 100%;
            height: 4px;
            /* Ultra-thin */
            background: rgba(255, 255, 255, 0.1);
            border-radius: 2px;
            margin-top: 6px;
            overflow: hidden;
            position: relative;
        }

        @keyframes barFillIn {
            from {
                width: 0 !important;
                opacity: 0.3;
            }

            to {
                opacity: 1;
            }
        }

        .progress-bar-fill {
            height: 100%;
            border-radius: 2px;
            transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .score-max {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.3);
            font-weight: 500;
            margin-left: 1px;
        }

        .score-meter {
            height: 3px;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 2px;
            overflow: hidden;
            margin-bottom: 4px;
            position: relative;
        }

        .score-fill {
            height: 100%;
            border-radius: 2px;
            transition: width 1s ease-out, background-color 0.3s ease;
            position: relative;
            min-width: 3px;
        }

        .score-fill::after {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4));
        }

        /* SVG Icons */
        .dim-icon-svg {
            width: 18px;
            height: 18px;
            stroke: var(--accent-primary);
            stroke-width: 1.8;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
            opacity: 0.9;
        }

        .dimension-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin-top: 0;
            padding-top: 0;
            border-top: none;
        }

        @media (min-width: 1100px) {
            .dimension-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        .glass-cube {
            background: #0d0d0d;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: var(--card-radius);
            padding: 28px;
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.07),
                inset 0 -1px 0 rgba(0, 0, 0, 0.4),
                0 2px 8px rgba(0, 0, 0, 0.5);
        }

        /* Concrete grain texture */
        .glass-cube::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 160px 160px;
            opacity: 0.55;
            pointer-events: none;
            mix-blend-mode: overlay;
            border-radius: inherit;
        }

        /* Silver left-edge accent */
        .glass-cube::after {
            content: '';
            position: absolute;
            left: 0;
            top: 15%;
            bottom: 15%;
            width: 2px;
            border-radius: 0 2px 2px 0;
            background: linear-gradient(180deg, transparent, rgba(180, 180, 200, 0.35), transparent);
            pointer-events: none;
        }



        .cube-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            min-width: 0;
        }

        .cube-title {
            font-family: var(--header-font);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.55);
            margin-bottom: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            min-width: 0;
            flex: 1;
        }

        .cube-icon {
            font-size: 15px;
            opacity: 0.4;
            flex-shrink: 0;
            margin-left: 8px;
        }

        .cube-content {
            font-family: var(--body-font);
            font-size: 13px;
            line-height: 1.85;
            color: rgba(255, 255, 255, 0.62);
            position: relative;
            z-index: 1;
            letter-spacing: 0.01em;
        }

        /* Strong text within dimension cards stays bright */
        .cube-content strong,
        .cube-content b {
            color: rgba(255, 255, 255, 0.88);
            font-weight: 600;
        }


        .share-btn,
        .pdf-btn {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.75);
            padding: 7px 16px;
            border-radius: 12px;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            cursor: pointer;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            backdrop-filter: blur(10px);
            box-shadow: none;
        }

        .report-btn,
        .excel-btn {
            background: rgba(45, 45, 45, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.5);
            padding: 6px 14px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            backdrop-filter: blur(5px);
            opacity: 0.6;
            filter: grayscale(1);
        }

        .share-btn:hover,
        .pdf-btn:hover {
            background: rgba(255, 255, 255, 0.1);
            color: white;
            border-color: rgba(255, 255, 255, 0.2);
            transform: translateY(-1px);
            box-shadow: none;
        }

        .top-bar {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 48px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            padding-bottom: 28px;
            gap: 10px;
            flex-wrap: wrap;
        }

        /* ── Result view topnav ── */
        .result-topnav {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 22px 0 20px;
            margin-bottom: 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-wrap: wrap;
            gap: 12px;
        }

        .return-home-btn {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.7);
            padding: 5px 12px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.1em;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.2s;
            text-transform: uppercase;
            font-family: var(--header-font, var(--mono-font));
        }

        .return-home-btn:hover {
            color: #fff;
            background: rgba(var(--ui-accent-rgb), 0.15);
            border-color: rgba(var(--ui-accent-rgb), 0.5);
        }

        @media (max-width: 768px) {
            .return-home-btn {
                display: none !important;
            }
        }

        .result-topnav-brand {
            display: flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            cursor: pointer;
        }

        .result-topnav-brand img {
            height: 32px;
            width: auto;
            border-radius: 0;
            filter: drop-shadow(0 0 8px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.40));
        }

        .result-topnav-links {
            display: flex;
            gap: 8px;
            align-items: center;
            flex-wrap: wrap;
        }

        .result-topnav-link {
            padding: 7px 14px;
            border-radius: 20px;
            font-size: 11px;
            font-weight: 650;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            text-decoration: none;
            color: rgba(255, 255, 255, 0.45);
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: transparent;
            transition: color 0.2s, border-color 0.2s, background 0.2s;
            cursor: pointer;
            font-family: inherit;
            -webkit-appearance: none;
            appearance: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .result-topnav-link:hover {
            color: #fff;
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.06);
        }

        .result-topnav-link.primary {
            background: linear-gradient(135deg, hsl(240 100% 75%), hsl(180 100% 70%), hsl(240 100% 60%));
            background-size: 200% 200%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            border-color: hsla(210, 100%, 72%, 0.40);
            font-weight: 800;
            animation: gradient-drift 2s ease infinite;
            position: relative;
            isolation: isolate;
        }

        .result-topnav-link.primary::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: rgba(120, 160, 255, 0.08);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            z-index: -2;
        }

        .result-topnav-link.primary:hover {
            border-color: hsla(190, 100%, 72%, 0.65);
            animation-duration: 2s;
        }

        .result-topnav-link.primary:hover::before {
            background: rgba(120, 180, 255, 0.14);
        }

        .result-topnav-link.terminal {
            color: rgba(255, 255, 255, 0.55);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            font-family: var(--mono-font);
            letter-spacing: 0.10em;
            font-size: 10px;
        }

        .result-topnav-link.terminal:hover {
            color: rgba(255, 255, 255, 0.85);
            border-color: rgba(255, 255, 255, 0.25);
            background: rgba(255, 255, 255, 0.07);
        }

        .result-topnav-link.fav {
            color: rgba(255, 255, 255, 0.55);
            border-color: rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .result-topnav-link.fav:hover {
            color: rgba(255, 200, 50, 0.85);
            border-color: rgba(255, 200, 50, 0.28);
            background: rgba(255, 200, 50, 0.07);
        }

        .result-topnav-link.fav svg {
            transition: fill 0.2s, stroke 0.2s;
        }

        .result-topnav-link.fav.active {
            color: rgba(255, 190, 30, 0.95);
            border-color: rgba(255, 190, 30, 0.38);
            background: rgba(255, 190, 30, 0.09);
        }

        .result-topnav-link.fav.active svg {
            fill: rgba(255, 190, 30, 0.85);
            stroke: rgba(255, 190, 30, 0.95);
        }

        .result-topnav-link.fav.active:hover {
            color: rgba(255, 200, 50, 1);
            border-color: rgba(255, 200, 50, 0.5);
            background: rgba(255, 200, 50, 0.13);
        }

        .result-topnav-link.fav:disabled {
            opacity: 0.6;
            cursor: default;
        }

        @keyframes fav-spin {
            to {
                transform: rotate(360deg);
            }
        }

        /* Share button — more prominent */
        .result-topnav-link.share {
            color: rgba(255, 255, 255, 0.82);
            border-color: rgba(255, 255, 255, 0.28);
            background: rgba(255, 255, 255, 0.07);
        }

        .result-topnav-link.share:hover {
            color: #fff;
            border-color: rgba(255, 255, 255, 0.50);
            background: rgba(255, 255, 255, 0.13);
        }

        .result-topnav-link.lang {
            color: rgba(255, 255, 255, 0.82);
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            background: rgba(var(--ui-accent-rgb), 0.10);
        }

        .result-topnav-link.lang:hover,
        .result-topnav-link.lang.active {
            color: #fff;
            border-color: rgba(var(--ui-accent-rgb), 0.8);
            background: rgba(var(--ui-accent-rgb), 0.2);
        }

        .result-topnav-link.lang.is-busy { opacity: 0.7; cursor: progress; }
        .result-topnav-link.lang .lang-flag { flex: 0 0 auto; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25); }

        /* On mobile: hide lower-priority nav buttons, always show New Analysis + Share */
        @media (max-width: 600px) {

            .result-topnav-link.terminal,
            .result-topnav-link.fav,
            .result-topnav-link.tg-share {
                display: none;
            }
        }

        /* Telegram share button */
        .result-topnav-link.tg-share {
            color: rgba(42, 171, 238, 0.82);
            border-color: rgba(42, 171, 238, 0.22);
            background: rgba(42, 171, 238, 0.06);
        }
        .result-topnav-link.tg-share:hover {
            color: rgba(42, 171, 238, 1);
            border-color: rgba(42, 171, 238, 0.40);
            background: rgba(42, 171, 238, 0.12);
        }

        /* Recent Reports panel */
        /* Consolidated into main CSS block above line 4645 */

        #rr-panel-header {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 14px 16px 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-shrink: 0;
        }

        #rr-panel-title {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            font-family: var(--header-font);
            font-size: 22px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.02em;
            flex: 1;
            min-width: 0;
        }

        .rr-title-svg {
            height: 22px;
            max-height: 24px;
            width: auto;
            aspect-ratio: 380 / 120;
            display: block;
            flex-shrink: 0;
            overflow: visible;
            filter: drop-shadow(0 0 8px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.35));
        }

        .rr-title-text {
            font-family: var(--header-font);
            font-size: 22px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.02em;
            background: var(--grad-score-5);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            white-space: nowrap;
            animation: a1TitleFlash calc(2.4s / var(--speed-mult, 1)) ease-out infinite;
        }

        /* A1: Dual-Laser Comet Trace */
        .a1-comet-tail {
            stroke-dasharray: 65 220;
            stroke-dashoffset: 240;
            animation: a1CometRace calc(2.4s / var(--speed-mult, 1)) cubic-bezier(0.35, 0, 0.25, 1) infinite;
        }
        .a1-comet-head {
            stroke-dasharray: 8 277;
            stroke-dashoffset: 240;
            animation: a1CometRace calc(2.4s / var(--speed-mult, 1)) cubic-bezier(0.35, 0, 0.25, 1) infinite;
        }
        .a1-impact {
            transform-origin: 190px 60px;
            animation: a1ImpactFlash calc(2.4s / var(--speed-mult, 1)) ease-out infinite;
        }
        @keyframes a1CometRace {
            0% { stroke-dashoffset: 220; opacity: 0; }
            12% { opacity: 1; }
            58% { stroke-dashoffset: 0; opacity: 1; }
            88% { stroke-dashoffset: -65; opacity: 0; }
            100% { stroke-dashoffset: -80; opacity: 0; }
        }
        @keyframes a1ImpactFlash {
            0%, 46% { opacity: 0.12; transform: scale(0.95); }
            58% { opacity: 1; transform: scale(1.02); filter: drop-shadow(0 0 16px #ffffff); }
            82% { opacity: 0.65; transform: scale(1); }
            100% { opacity: 0.12; transform: scale(0.95); }
        }
        @keyframes a1TitleFlash {
            0%, 46% { opacity: 0.75; filter: drop-shadow(0 0 0 transparent); }
            58% { opacity: 1; filter: drop-shadow(0 0 10px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.5)); }
            82% { opacity: 0.88; filter: drop-shadow(0 0 4px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.25)); }
            100% { opacity: 0.75; filter: drop-shadow(0 0 0 transparent); }
        }

        #rr-refresh-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.55);
            cursor: pointer;
            padding: 4px 9px 4px 7px;
            border-radius: 20px;
            font-size: 10px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            line-height: 1;
            transition: color 0.15s, background 0.15s, border-color 0.15s;
            white-space: nowrap;
        }

        #rr-refresh-btn:hover {
            color: rgba(255, 255, 255, 0.88);
            background: rgba(255, 255, 255, 0.09);
            border-color: rgba(255, 255, 255, 0.16);
        }

        #rr-refresh-btn.spinning svg {
            animation: rr-spin 0.7s linear infinite;
        }

        #rr-view-toggle-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.55);
            cursor: pointer;
            padding: 4px 9px 4px 7px;
            border-radius: 20px;
            font-size: 10px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            line-height: 1;
            transition: color 0.15s, background 0.15s, border-color 0.15s;
            white-space: nowrap;
        }

        #rr-view-toggle-btn:hover {
            color: rgba(255, 255, 255, 0.88);
            background: rgba(255, 255, 255, 0.09);
            border-color: rgba(255, 255, 255, 0.16);
        }

        #rr-view-toggle-btn.active {
            color: rgba(var(--ui-accent-rgb, 176, 176, 176), 1);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.12);
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.28);
        }

        /* rr-panel card grid view —
           #rr-list grows to fit content (flex:none + overflow:visible).
           The parent .rr-filter-section is made the scroller via JS when card
           view is activated, so the grid can expand freely without height-collapse. */
        #rr-list.rr-card-view {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            align-content: start;
            gap: 25px;
            padding: 5px;
            /* Card view: list is the scroll container — fill panel, scroll internally */
            flex: 1 1 0%;
            min-height: 0;
            overflow-y: auto;
            overflow-x: hidden;
        }

        /* ── Browser card-view layout overrides ──
           generateRrRowHtml now outputs .report-card, so the base card
           styling comes from .report-card above. These rules only handle
           the grid/layout needs of the X-Ray Browser panel card-view mode. */
        #rr-list.rr-card-view .report-card {
            align-self: start;
        }



        /* Score Pips for Cards */

        .rr-score-pip {
            display: flex;
            flex-direction: column;
            align-items: center;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 4px 0;
            min-width: 38px;
            transition: background 0.2s, border-color 0.2s;
        }

        .rr-score-pip:hover {
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.15);
        }

        .rr-sp-val {
            font-size: 11px;
            font-weight: 850;
            font-family: var(--header-font);
            line-height: 1;
        }

        .rr-sp-lbl {
            font-size: 7px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.25);
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-top: 2px;
        }

        #rr-showcase-refresh-btn {
            background: none;
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.28);
            color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.7);
            cursor: pointer;
            padding: 5px 10px;
            border-radius: 8px;
            font-size: 14px;
            line-height: 1;
            transition: color 0.15s, background 0.15s, border-color 0.15s;
        }

        #rr-showcase-refresh-btn:hover {
            color: rgba(var(--ui-accent-rgb, 176, 176, 176), 1);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.10);
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.55);
        }

        #rr-showcase-refresh-btn.spinning {
            animation: rr-spin 0.7s linear infinite;
        }

        @keyframes rr-spin {
            to {
                transform: rotate(360deg);
            }
        }

        #rr-close-btn {
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            cursor: pointer;
            padding: 10px 14px;
            min-width: 44px;
            min-height: 44px;
            border-radius: 8px;
            font-size: 20px;
            line-height: 1;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        #rr-close-btn:hover {
            color: #fff;
            background: rgba(255, 65, 65, 0.2);
            border-color: rgba(255, 65, 65, 0.4);
        }

        .rr-expand-btn {
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.30);
            cursor: pointer;
            padding: 4px 6px;
            border-radius: 6px;
            font-size: 13px;
            line-height: 1;
            transition: color 0.15s, transform 0.2s;
        }

        .rr-expand-btn:hover {
            color: rgba(255, 255, 255, 0.75);
            transform: scale(1.1);
        }

        #rr-search-wrap {
            padding: 10px 14px 8px;
            flex-shrink: 0;
        }

        #rr-search:not(.rr-hero-input) {
            width: 100%;
            box-sizing: border-box;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 8px;
            color: rgba(255, 255, 255, 0.80);
            font-size: 16px;
            /* ≥16px prevents iOS Safari auto-zoom on focus */
            padding: 7px 11px;
            outline: none;
            transition: border-color 0.15s;
            font-family: inherit;
        }

        #rr-search:not(.rr-hero-input)::placeholder {
            color: rgba(255, 255, 255, 0.28);
        }

        #rr-search:not(.rr-hero-input):focus {
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.45);
        }

        #rr-list {
            overflow-y: auto;
            flex: 1 1 0%;
            min-height: 0;
            padding: 4px 8px 10px;
            -webkit-overflow-scrolling: touch;
            /* iOS momentum scrolling */
            overscroll-behavior: contain;
            /* prevent bleed-through to page */
        }

        #rr-list::-webkit-scrollbar {
            width: 4px;
        }

        #rr-list::-webkit-scrollbar-track {
            background: transparent;
        }

        #rr-list::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.12);
            border-radius: 2px;
        }

        .rr-row {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 0.8fr auto;
            align-items: center;
            column-gap: 12px;
            padding: 10px 12px;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.12s;
            text-decoration: none;
            border-bottom: 1px solid rgba(255, 255, 255, 0.03);
        }

        #rr-panel.expanded .rr-row {
            grid-template-columns: 32px 3fr 1.2fr 3fr 1.5fr 34px;
            padding: 14px 20px;
        }

        .rr-row:hover {
            background: rgba(255, 255, 255, 0.05);
        }

        .rr-company {
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
            overflow: hidden;
        }

        .rr-name {
            font-size: 12px;
            font-weight: 700;
            color: #fff;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .rr-ticker-label {
            font-size: 9px;
            font-weight: 800;
            color: var(--ui-accent);
            opacity: 0.7;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
        }

        .rr-date {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.35);
            white-space: nowrap;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
            align-items: flex-start;
        }

        .rr-new-badge {
            color: var(--verdict-strong);
            font-size: 8px;
            font-weight: 850;
            letter-spacing: 0.1em;
            opacity: 0.8;
        }

        .rr-verdict {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 4px 12px;
            border-radius: 16px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            font-family: var(--header-font);
            flex-shrink: 0;
            white-space: nowrap;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .rr-latest-badge {
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.28);
            border: 1px solid rgba(255, 255, 255, 0.10);
            font-size: 8px;
            font-weight: 950;
            padding: 2px 6px;
            border-radius: 100px;
            letter-spacing: 0.1em;
            line-height: 1;
            display: inline-block;
        }

        .rr-model-badge {
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.30);
            border: 1px solid rgba(255, 255, 255, 0.09);
            font-size: 8px;
            font-weight: 700;
            padding: 2px 6px;
            border-radius: 4px;
            letter-spacing: 0.04em;
            line-height: 1;
            text-transform: uppercase;
        }

        /* Mini calendar picker */
        .rr-cal-wrap {
            position: relative;
            display: inline-block;
        }

        .rr-cal-popup {
            position: absolute;
            top: calc(100% + 6px);
            left: 0;
            z-index: 120000;
            background: #0c0d12;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 12px;
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.8);
            padding: 12px;
            width: 220px;
            display: none;
            user-select: none;
        }

        .rr-cal-popup.open {
            display: block;
        }

        .rr-cal-nav {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 10px;
        }

        .rr-cal-nav-btn {
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.5);
            cursor: pointer;
            padding: 3px 7px;
            border-radius: 6px;
            font-size: 13px;
            line-height: 1;
            transition: color 0.12s, background 0.12s;
        }

        .rr-cal-nav-btn:hover {
            color: #fff;
            background: rgba(255, 255, 255, 0.06);
        }

        .rr-cal-month-label {
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.8);
            letter-spacing: 0.04em;
        }

        .rr-cal-grid {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 2px;
        }

        .rr-cal-dow {
            text-align: center;
            font-size: 8px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.25);
            letter-spacing: 0.07em;
            padding-bottom: 4px;
            text-transform: uppercase;
        }

        .rr-cal-day {
            text-align: center;
            padding: 4px 2px;
            border-radius: 5px;
            font-size: 10px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.55);
            cursor: pointer;
            transition: background 0.1s, color 0.1s;
            line-height: 1.2;
        }

        .rr-cal-day:hover {
            background: rgba(255, 255, 255, 0.07);
            color: #fff;
        }

        .rr-cal-day.today {
            border: 1px solid rgba(var(--ui-accent-rgb), 0.35);
            color: var(--ui-accent);
        }

        .rr-cal-day.selected {
            background: rgba(var(--ui-accent-rgb), 0.22);
            color: var(--ui-accent);
            font-weight: 800;
        }

        .rr-cal-day.other-month {
            color: rgba(255, 255, 255, 0.18);
        }

        .rr-cal-day.empty {
            cursor: default;
        }

        .rr-cal-clear {
            margin-top: 10px;
            text-align: center;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.25);
            cursor: pointer;
            padding: 4px;
            border-radius: 5px;
            transition: color 0.12s;
        }

        .rr-cal-clear:hover {
            color: rgba(255, 255, 255, 0.6);
        }

        .rr-company-meta-row {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: 2px;
        }

        .rr-sector-meta {
            font-size: 9px;
            font-weight: 700;
            color: rgba(var(--ui-accent-rgb), 0.5);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }



        .rr-company-meta-row {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: 2px;
        }

        /* Mobile specific refinements */
        @media (max-width: 768px) {

            /* Hide column-label header row entirely on mobile — no value on small screens */
            #rr-list-header {
                display: none !important;
            }

            .rr-mobile-hide {
                display: none !important;
            }

            .rr-sector-label,
            .rr-model-label,
            .rr-open-icon {
                display: none !important;
            }

            .rr-scores-compact {
                grid-template-columns: repeat(3, 1fr) !important;
            }

            /* Show the mobile search button in the header */
            #rr-mobile-search-btn {
                display: inline-flex !important;
            }

            /* Mobile search bar */
            #rr-mobile-search-bar {
                flex-shrink: 0 !important;
            }

            /* Hide Watchlist and Avoid verdict pills on mobile — only show Strong Buy / Buy / Short */
            .rr-filter-pill.pill-watchlist,
            .rr-filter-pill.pill-avoid {
                display: none !important;
            }

            /* Dimensions popover: bottom-sheet on mobile, escapes overflow:hidden */
            #rr-score-popover {
                position: fixed !important;
                top: auto !important;
                bottom: 0 !important;
                left: 0 !important;
                right: 0 !important;
                width: 100% !important;
                max-width: 100% !important;
                border-radius: 20px 20px 0 0 !important;
                border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
                border-left: none !important;
                border-right: none !important;
                border-bottom: none !important;
                background: #13141a !important;
                box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.7) !important;
                max-height: 72dvh !important;
                overflow-y: auto !important;
                -webkit-overflow-scrolling: touch !important;
                z-index: 9200 !important;
                padding-top: 20px !important;
            }

            /* Drag handle */
            #rr-score-popover::before {
                content: '';
                display: block;
                width: 36px;
                height: 4px;
                border-radius: 2px;
                background: rgba(255, 255, 255, 0.2);
                margin: 0 auto 16px;
            }

            /* Dim backdrop injected by JS */
            #rr-dim-backdrop {
                display: none;
                position: fixed;
                inset: 0;
                background: rgba(0, 0, 0, 0.55);
                z-index: 9199;
            }

            #rr-dim-backdrop.visible {
                display: block;
            }

            /* Panel full-screen already declared in the block above */

            /* Filter section: fixed height, no scroll, no sticky */
            .rr-filter-section {
                position: relative !important;
                z-index: 10 !important;
                background: #0c0d12 !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
                padding: 8px 12px 8px !important;
                gap: 6px !important;
                flex-shrink: 0 !important;
                flex-grow: 0 !important;
                overflow: visible !important;
            }

            /* Hide Row 1 (search + smart buttons) — use mobile search bar instead */
            .rr-filter-section>.rr-filter-group:first-child {
                display: none !important;
            }

            /* Hide Row 3 (comboboxes + date presets) */
            .rr-filter-section>.rr-filter-group:last-child {
                display: none !important;
            }

            /* Row 2 (verdicts) — horizontal scroll row */
            .rr-filter-section>.rr-filter-group:nth-child(2) {
                display: flex !important;
                flex-wrap: nowrap !important;
                gap: 8px !important;
                align-items: center !important;
                overflow-x: auto !important;
                -webkit-overflow-scrolling: touch !important;
                scrollbar-width: none !important;
                padding: 4px 4px 4px !important;
                justify-content: flex-start !important;
            }

            .rr-filter-section>.rr-filter-group:nth-child(2)::-webkit-scrollbar {
                display: none !important;
            }

            /* Inline filter panel — show on mobile, collapsed by default */
            #rr-inline-filters {
                display: block !important;
            }

            /* Inline dim grid — single column on narrow screens */
            .rr-ifl-dim-grid {
                grid-template-columns: 1fr !important;
            }

            /* Hide the "Verdict" label */
            .rr-filter-section .rr-filter-label {
                display: none !important;
            }

            /* Verdict pills: tighter, proper flex centering, good touch targets */
            .rr-filter-pill {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                height: 32px !important;
                min-width: 44px !important;
                padding: 0 12px !important;
                font-size: 10px !important;
                white-space: nowrap !important;
                flex-shrink: 0 !important;
            }

            /* Hide comboboxes, date inputs, smart buttons */
            .rr-cs-wrap,
            .rr-date-range-wrap,
            .rr-smart-btn,
            .rr-date-preset-btn {
                display: none !important;
            }

            /* Prevent iOS zoom on inputs */
            .rr-cs-input,
            .rr-date-input,
            #rr-filter-section .rr-search-input {
                font-size: 16px !important;
            }

            /* Fix popover getting clipped by overflow-x on mobile by making it a centered overlay */
            #rr-score-popover {
                position: fixed !important;
                top: 50% !important;
                left: 50% !important;
                transform: translate(-50%, -50%);
                width: 90% !important;
                max-width: 320px;
                right: auto !important;
                z-index: 10001 !important;
                max-height: 80vh !important;
                overflow-y: auto !important;
            }

            /* ── Mobile scroll fix ─────────────────────────────────────────
               .rr-filter-section is the flex parent of #rr-list.
               It must be flex:1 1 0% (fills all panel height after header)
               and overflow:hidden so that #rr-list — as a flex child with
               flex:1 1 0% and overflow-y:auto — gets a bounded height to
               scroll within. Without this, .rr-filter-section collapses to
               content height and #rr-list has nothing to scroll inside of. */

            /* .rr-filter-section: fill remaining panel height, clip contents */
            #rr-filter-section.rr-filter-section,
            #rr-panel.rr-card-view-active .rr-filter-section {
                flex: 1 1 0% !important;
                min-height: 0 !important;
                overflow: hidden !important;
                display: flex !important;
                flex-direction: column !important;
            }

            /* #rr-list: fill remaining filter-section height and scroll */
            #rr-list,
            #rr-panel.rr-card-view-active #rr-list.rr-card-view {
                flex: 1 1 0% !important;
                min-height: 0 !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
                -webkit-overflow-scrolling: touch !important;
                overscroll-behavior: contain !important;
            }
        }

        .rr-open-icon {
            color: rgba(255, 255, 255, 0.20);
            flex-shrink: 0;
            transition: color 0.12s;
        }

        .rr-row:hover .rr-open-icon {
            color: rgba(255, 255, 255, 0.55);
        }

        /* Legacy Styling Adoption & Polish */
        .rr-company-name {
            font-weight: 750;
            color: var(--text-main);
            font-size: 15px;
            letter-spacing: -0.01em;
            display: block;
        }

        .rr-col-muted {
            color: var(--text-secondary);
            font-size: 12px;
            font-weight: 500;
        }

        .rr-verdict-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            white-space: nowrap;
            border: 1px solid transparent;
            text-align: center;
        }

        .rr-verdict-badge.strong-buy {
            background: rgba(var(--verdict-strong-rgb), 0.15);
            color: var(--verdict-strong);
            border-color: rgba(var(--verdict-strong-rgb), 0.40);
            box-shadow: 0 0 12px rgba(var(--verdict-strong-rgb), 0.18);
        }

        .rr-verdict-badge.buy {
            background: rgba(var(--verdict-buy-rgb), 0.15);
            color: var(--verdict-buy);
            border-color: rgba(var(--verdict-buy-rgb), 0.40);
            box-shadow: 0 0 12px rgba(var(--verdict-buy-rgb), 0.18);
        }

        .rr-verdict-badge.watchlist {
            background: rgba(var(--verdict-watch-rgb), 0.12);
            color: var(--verdict-watch);
            border-color: rgba(var(--verdict-watch-rgb), 0.40);
            box-shadow: 0 0 12px rgba(var(--verdict-watch-rgb), 0.18);
        }

        .rr-verdict-badge.avoid {
            background: rgba(var(--verdict-avoid-rgb), 0.12);
            color: var(--verdict-avoid);
            border-color: rgba(var(--verdict-avoid-rgb), 0.40);
            box-shadow: 0 0 12px rgba(var(--verdict-avoid-rgb), 0.18);
        }

        .rr-verdict-badge.short {
            background: rgba(var(--verdict-short-rgb), 0.15);
            color: var(--verdict-short);
            border-color: rgba(var(--verdict-short-rgb), 0.40);
            box-shadow: 0 0 12px rgba(var(--verdict-short-rgb), 0.18);
        }

        .rr-scores-cell {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
            font-size: 9px;
            align-items: center;
            justify-content: flex-start;
        }

        .rr-score-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 2px;
            padding: 2px 7px;
            border-radius: 4px;
            font-weight: 700;
            letter-spacing: 0.02em;
            white-space: nowrap;
            border: 1px solid;
            font-size: 9px;
        }

        .rr-score-badge.score-1 {
            background: rgba(255, 46, 46, 0.10);
            color: var(--score-1);
            border-color: rgba(255, 46, 46, 0.30);
        }

        .rr-score-badge.score-2 {
            background: rgba(255, 191, 0, 0.10);
            color: var(--score-2);
            border-color: rgba(255, 191, 0, 0.30);
        }

        .rr-score-badge.score-3 {
            background: rgba(0, 234, 255, 0.10);
            color: var(--score-3);
            border-color: rgba(0, 234, 255, 0.30);
        }

        .rr-score-badge.score-4 {
            background: rgba(8, 209, 129, 0.10);
            color: var(--score-4);
            border-color: rgba(8, 209, 129, 0.30);
        }

        .rr-score-badge.score-5 {
            background: rgba(48, 126, 255, 0.10);
            color: var(--score-5);
            border-color: rgba(48, 126, 255, 0.30);
        }
        .rr-score-popover {
            width: 380px;
            padding: 24px;
            border-radius: 20px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 20px rgba(var(--ui-accent-rgb), 0.1);
            animation: rrPopIn 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }

        @keyframes rrPopIn {
            from { opacity: 0; transform: translateY(10px) scale(0.98); }
            to   { opacity: 1; transform: translateY(0) scale(1); }
        }

        .rr-score-grid {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .rr-dim-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        .rr-dim-label {
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.7);
            flex: 1;
        }

        .rr-score-pill-group {
            display: flex;
            background: rgba(255, 255, 255, 0.04);
            padding: 3px;
            border-radius: 10px;
            border: 1px solid rgba(255, 255, 255, 0.06);
        }

        .rr-score-pill {
            padding: 5px 9px;
            border-radius: 8px;
            font-size: 10px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.3);
            cursor: pointer;
            transition: all 0.2s;
            min-width: 32px;
            text-align: center;
        }

        .rr-score-pill:hover {
            color: rgba(255, 255, 255, 0.6);
            background: rgba(255, 255, 255, 0.03);
        }

        .rr-score-pill.active {
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.15);
            box-shadow: 0 2px 8px rgba(var(--ui-accent-rgb), 0.1);
        }

        .rr-score-pill.any-pill {
            min-width: 44px;
        }

        /* ── Inline Score Filters Panel ───────────────────────────────────── */
        #rr-inline-filters {
            background: rgba(255,255,255,0.025);
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 14px;
            overflow: hidden;
            transition: all 0.25s cubic-bezier(0.16,1,0.3,1);
        }

        #rr-inline-filters-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 10px 14px;
            cursor: pointer;
            user-select: none;
            border-bottom: 1px solid rgba(255,255,255,0.0);
            transition: border-color 0.2s;
        }

        #rr-inline-filters:not(.collapsed) #rr-inline-filters-header {
            border-bottom-color: rgba(255,255,255,0.06);
        }

        #rr-inline-filters-header:hover {
            background: rgba(255,255,255,0.02);
        }

        .rr-ifl-title {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.35);
        }

        .rr-ifl-title svg { opacity: 0.5; flex-shrink: 0; }

        .rr-ifl-count {
            display: none;
            align-items: center;
            justify-content: center;
            min-width: 16px;
            height: 16px;
            padding: 0 4px;
            border-radius: 8px;
            background: rgba(var(--ui-accent-rgb),0.18);
            color: var(--ui-accent);
            font-size: 8px;
            font-weight: 900;
            letter-spacing: 0;
            border: 1px solid rgba(var(--ui-accent-rgb),0.30);
        }

        .rr-ifl-count.visible { display: inline-flex; }

        .rr-ifl-header-right {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .rr-ifl-reset {
            display: none;
            font-size: 8px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255,255,255,0.22);
            cursor: pointer;
            padding: 3px 7px;
            border-radius: 6px;
            border: 1px solid rgba(255,255,255,0.08);
            transition: all 0.15s;
        }
        .rr-ifl-reset:hover { color: rgba(255,255,255,0.6); border-color: rgba(255,255,255,0.2); }
        .rr-ifl-reset.visible { display: inline-block; }

        .rr-ifl-chevron {
            color: rgba(255,255,255,0.20);
            transition: transform 0.2s;
            flex-shrink: 0;
        }

        #rr-inline-filters.collapsed .rr-ifl-chevron {
            transform: rotate(-90deg);
        }

        #rr-inline-filters-body {
            padding: 14px 14px 10px;
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        #rr-inline-filters.collapsed #rr-inline-filters-body {
            display: none;
        }

        /* XPS section */
        .rr-ifl-section {
            padding-bottom: 12px;
            margin-bottom: 12px;
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }
        .rr-ifl-section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

        .rr-ifl-section-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 8px;
        }

        .rr-ifl-section-label {
            font-size: 8.5px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.28);
        }

        .rr-ifl-composite-badge {
            font-size: 7.5px;
            font-weight: 700;
            background: rgba(var(--ui-accent-rgb),0.10);
            color: rgba(var(--ui-accent-rgb),0.60);
            border: 1px solid rgba(var(--ui-accent-rgb),0.18);
            border-radius: 3px;
            padding: 1px 5px;
            letter-spacing: 0.06em;
        }

        /* XPS preset buttons */
        .rr-xps-presets {
            display: flex;
            gap: 5px;
            flex-wrap: wrap;
            margin-top: 8px;
        }

        /* Compact dim grid — 2 columns */
        .rr-ifl-dim-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6px 12px;
        }

        .rr-ifl-dim-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
            padding: 3px 0;
        }

        .rr-ifl-dim-label {
            font-size: 12px;
            font-weight: 400;
            color: rgba(255,255,255,0.50);
            white-space: nowrap;
            min-width: 58px;
        }

        /* Compact pill group for inline dims */
        .rr-ifl-pill-group {
            display: flex;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.06);
            border-radius: 7px;
            padding: 2px;
            gap: 1px;
        }

        .rr-ifl-pill {
            padding: 2px 10px;
            border-radius: 5px;
            font-size: 10px;
            font-weight: 600;
            color: rgba(255,255,255,0.55);
            cursor: pointer;
            transition: all 0.15s;
            min-width: 22px;
            text-align: center;
            line-height: 1.2;
        }

        .rr-ifl-pill:hover {
            color: rgba(255,255,255,0.6);
            background: rgba(255,255,255,0.04);
        }

        .rr-ifl-pill.active {
            padding: 3px 7px 3px 9px;
             border-radius: 20px;
          background: rgba(var(--ui-secondary-rgb), 0.10);
         border: 1px solid rgba(var(--ui-secondary-rgb), 0.30);
         color: var(--ui-secondary);
        }

        @media (max-width: 520px) {
            .rr-ifl-dim-grid { grid-template-columns: 1fr; }
            #rr-inline-filters-body { padding: 10px 10px 8px; }
        }

        /* ── Universe Treemap View ───────────────────────────────────────────── */
        #rr-treemap-view {
            display: none;
            flex-direction: column;
            flex: 1 1 0%;
            min-height: 0;
            min-width: 0;
            overflow: hidden;
            background: #070810;
        }

        #rr-treemap-view.active {
            display: flex;
        }

        /* When treemap is active, hide list-only children + mobile search bar;
           keep the filter rows visible so treemap shares the same filters */
        #rr-panel.treemap-mode #rr-mobile-search-bar,
        #rr-panel.treemap-mode #rr-list-header,
        #rr-panel.treemap-mode #rr-strong-buys,
        #rr-panel.treemap-mode #rr-list,
        #rr-panel.treemap-mode #rr-compare-bar {
            display: none !important;
        }
        /* In treemap mode, filter section should shrink to fit its content,
           not compete for flex space with the treemap view */
        #rr-panel.treemap-mode #rr-filter-section,
        #rr-panel.treemap-mode .rr-filter-section {
            flex: 0 0 auto !important;
            overflow: visible !important;
        }

        /* Result count shown in treemap filter area */
        #tm-result-count {
            font-size: 9px;
            font-weight: 700;
            color: rgba(255,255,255,0.25);
            white-space: nowrap;
            margin-left: auto;
        }

        /* Latest Only toggle pill — same style as other filter pills */
        .rr-latest-toggle {
            padding: 3px 10px;
            border-radius: 20px;
            font-size: 9px;
            font-weight: 800;
            cursor: pointer;
            border: 1px solid rgba(255,255,255,0.10);
            color: rgba(255,255,255,0.35);
            background: rgba(255,255,255,0.04);
            transition: all 0.15s;
            white-space: nowrap;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            flex-shrink: 0;
        }
        .rr-latest-toggle:hover { color: rgba(255,255,255,0.7); border-color: rgba(255,255,255,0.25); }
        .rr-latest-toggle.active {
            padding: 3px 10px;
            border-radius: 20px;
            background: rgba(var(--ui-accent-rgb), 0.12);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.35);
            color: var(--ui-accent); }

        /* Breadcrumb bar for drill mode */
        #tm-breadcrumb {
            display: none;
            align-items: center;
            gap: 6px;
            padding: 4px 14px;
            background: rgba(255,255,255,0.03);
            border-bottom: 1px solid rgba(255,255,255,0.05);
            flex-shrink: 0;
            font-size: 12px;
            font-weight: 700;
            color: rgba(255,255,255,0.4);
        }
        .tm-bc-root {
            color: rgba(var(--ui-accent-rgb),0.8);
            cursor: pointer;
            text-decoration: underline;
            text-underline-offset: 2px;
        }
        .tm-bc-root:hover { color: var(--ui-accent); }
        .tm-bc-sep { color: rgba(255,255,255,0.15); }
        .tm-bc-current {
            color: rgba(255,255,255,0.7);
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }

        #rr-treemap-canvas {
            flex: 1;
            min-height: 0;
            min-width: 0;
            position: relative;
            overflow: hidden;
        }

        .tm-sector-block {
            position: absolute;
            box-sizing: border-box;
            border: 1px solid rgba(255,255,255,0.07);
            border-radius: 8px;
            background: rgba(255,255,255,0.02);
            overflow: hidden;
        }

        .tm-sector-label {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            font-size: 10px;
            font-weight: 900;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.55);
            padding: 3px 6px 1px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            pointer-events: auto;
            transition: color 0.15s;
            box-sizing: border-box;
        }
        .tm-sector-label:hover { color: rgba(var(--ui-accent-rgb), 0.9); }

        /* Sub-sector block — rendered inside a drilled sector view */
        .tm-subsector-block {
            position: absolute;
            box-sizing: border-box
            background: rgba(255,255,255,0.015);
            overflow: hidden;
        }

        .tm-subsector-label {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.60);
            padding: 3px 6px 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            box-sizing: border-box;
            background: rgba(0,0,0,0.35);
            border-bottom: 1px solid rgba(255,255,255,0.07);
            z-index: 0;
        }

        .tm-nodes-wrap {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }

        .tm-node {
            position: absolute;
            box-sizing: border-box;
            border-radius: 24px;
            cursor: pointer;
            overflow: hidden;
            transition: filter 0.2s ease, transform 0.2s cubic-bezier(0.16,1,0.3,1), box-shadow 0.2s ease, border-color 0.2s ease;
            border: 1px solid transparent;
            display: flex;
            align-items: center;
            padding: 0 3px;
        }

        .tm-node:hover {
            filter: brightness(1.45) saturate(1.2);
            transform: scale(1.06);
            z-index: 10;
            box-shadow: 0 4px 20px rgba(0,0,0,0.5), 0 0 12px rgba(255,255,255,0.06);
            border-color: rgba(255,255,255,0.25);
        }
        .tm-node:active {
            transform: scale(0.98);
            filter: brightness(1.1);
        }

        .tm-node-ticker {
            font-weight: 900;
            color: rgba(255,255,255,0.92);
            letter-spacing: 0.02em;
            line-height: 1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 100%;
            text-shadow: 0 1px 3px rgba(0,0,0,0.95);
            /* font-size set dynamically by JS based on node dimensions */
        }

        /* Treemap hover tooltip */
        #tm-tooltip {
            position: fixed;
            z-index: 200000;
            pointer-events: none;
            display: none;
            max-width: 340px;
        }

        #tm-tooltip.visible {
            display: block;
        }

        .tm-tooltip-card {
            background: #0e0f18;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 14px;
            padding: 12px 14px;
            box-shadow: 0 16px 48px rgba(0,0,0,0.7), 0 0 20px rgba(var(--ui-accent-rgb),0.08);
            backdrop-filter: blur(20px);
            animation: tmTipIn 0.12s cubic-bezier(0.16,1,0.3,1);
        }

        @keyframes tmTipIn {
            from { opacity: 0; transform: translateY(6px) scale(0.97); }
            to   { opacity: 1; transform: translateY(0) scale(1); }
        }

        .tm-tip-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 8px;
        }

        .tm-tip-company {
            font-size: 14px;
            font-weight: 800;
            color: rgba(255,255,255,0.92);
            line-height: 1.2;
        }

        .tm-tip-ticker {
            font-size: 9px;
            font-weight: 700;
            font-family: var(--mono-font);
            color: rgba(255,255,255,0.35);
            margin-top: 2px;
        }

        .tm-tip-date {
            font-size: 10px;
            font-weight: 600;
            font-family: var(--mono-font);
            color: rgba(255,255,255,0.25);
            margin-top: 2px;
        }

        .tm-tip-verdict {
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.07em;
            padding: 3px 8px;
            border-radius: 20px;
            text-transform: uppercase;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .tm-tip-xps-row {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 8px;
        }

        .tm-tip-xps-label {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: rgba(255,255,255,0.30);
        }

        .tm-tip-xps-val {
            font-size: 22px;
            font-weight: 1000;
            font-family: 'Inter';
            line-height: 1;
        }

        .tm-tip-bars {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .tm-tip-bar-row {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .tm-tip-bar-label {
            font-size: 8px;
            font-weight: 600;
            color: rgba(255,255,255,0.35);
            width: 52px;
            flex-shrink: 0;
        }

        .tm-tip-bar-track {
            flex: 1;
            height: 3px;
            background: rgba(255,255,255,0.06);
            border-radius: 2px;
            overflow: hidden;
        }

        .tm-tip-bar-fill {
            height: 100%;
            border-radius: 2px;
        }

        .tm-tip-bar-num {
            font-size: 8px;
            font-weight: 800;
            font-family: var(--mono-font);
            width: 14px;
            text-align: right;
            flex-shrink: 0;
        }

        .tm-tip-overview {
            font-size: 12px;
            color: rgba(255,255,255,0.55);
            line-height: 1.45;
            margin-top: 8px;
            border-top: 1px solid rgba(255,255,255,0.06);
            padding-top: 8px;
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
        }

        .tm-tip-inv-summary {
            font-size: 14px;
            color: rgba(255,255,255,0.40);
            line-height: 1.4;
            margin-top: 6px;
            padding-top: 6px;
            border-top: 1px solid rgba(255,255,255,0.04);
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 4;
            -webkit-box-orient: vertical;
            font-style: italic;
        }

        .tm-tip-inv-label {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255,255,255,0.25);
            display: block;
            margin-bottom: 3px;
            font-style: normal;
        }

        .tm-tip-footer {
            margin-top: 8px;
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--ui-accent);
            opacity: 0.7;
        }

        /* Legend bar */
        #tm-legend {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 4px 14px;
            background: rgba(0,0,0,0.3);
            border-top: 1px solid rgba(255,255,255,0.05);
            flex-shrink: 0;
        }

        .tm-legend-label {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: rgba(255,255,255,0.25);
        }

        .tm-legend-items {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .tm-legend-item {
            display: flex;
            align-items: center;
            gap: 4px;
            font-size: 10px;
            font-weight: 700;
            color: rgba(255,255,255,0.45);
        }

        .tm-legend-dot {
            width: 8px;
            height: 8px;
            border-radius: 2px;
            flex-shrink: 0;
        }

        #tm-empty {
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex: 1;
            color: rgba(255,255,255,0.25);
            font-size: 13px;
            font-weight: 600;
            gap: 8px;
        }
        #tm-empty.visible { display: flex; }

        /* Tab buttons in header */
        .rr-tab-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 8px;
            padding: 5px 10px;
            color: rgba(255,255,255,0.38);
            cursor: pointer;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            transition: all 0.2s;
            font-family: inherit;
            white-space: nowrap;
        }

        .rr-tab-btn:hover {
            color: rgba(255,255,255,0.70);
            border-color: rgba(255,255,255,0.16);
            background: rgba(255,255,255,0.06);
        }

        .rr-tab-btn.active {
            Padding: 10px 10px 10px 10px;
            border-radius: 20px;
            background: rgba(var(--ui-secondary-rgb), 0.10);
            border: 1px solid rgba(var(--ui-secondary-rgb), 0.30);
            color: var(--ui-secondary);
        }

        /* ═══════════════════════════════════════════════════
           FILTER SECTION — unified design system
           ═══════════════════════════════════════════════════ */
        .rr-filter-section {
            padding: 8px 14px 8px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            display: flex;
            flex-direction: column;
            gap: 6px;
            /* flex sizing handled by the panel-level rule above (flex: 1 1 0%) */
            overflow: hidden;
        }

        .rr-filter-group {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 6px;
        }

        /* Toolbar row (first child) — scrolls horizontally on narrow panels instead of clipping */
        .rr-filter-section > .rr-filter-group:first-child {
            flex-wrap: nowrap;
            overflow-x: auto;
            overflow-y: visible;
            scrollbar-width: none;  /* Firefox */
            -ms-overflow-style: none;  /* IE/Edge */
            padding-bottom: 2px;  /* prevents clipping of focus rings */
            /* Fade masks on left/right edges to hint horizontal scroll */
            -webkit-mask-image: linear-gradient(to right, #000 0px, #000 calc(100% - 24px), transparent 100%);
            mask-image: linear-gradient(to right, #000 0px, #000 calc(100% - 24px), transparent 100%);
        }
        .rr-filter-section > .rr-filter-group:first-child::-webkit-scrollbar {
            display: none;  /* Chrome/Safari */
        }

        /* ── Narrow panel / phone: verdict+XPS pills wrap onto row 2,
              Fav / Latest / Dimensions stay pinned to row 1 ── */
        @media (max-width: 520px) {
            .rr-filter-section > .rr-filter-group:first-child {
                flex-wrap: wrap;
                overflow-x: visible;
                -webkit-mask-image: none;
                mask-image: none;
            }
            /* Search box fills full width on its own line */
            .rr-search-row {
                flex: 1 1 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
            }
            /* Verdict label + pills + XPS label + pills: wrap freely */
            #rr-verdict-pills,
            #rr-xps-pill-group {
                flex-wrap: wrap;
            }
            /* Right-side action buttons: tighter on narrow screens */
            #rr-dim-toggle-btn,
            #rr-fav-filter-btn,
            #rr-latest-toggle {
                flex-shrink: 0;
            }
        }

        .rr-filter-label {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: rgba(255, 255, 255, 0.7);
            white-space: nowrap;
        }

        /* ── Search row ── */
        .rr-search-row {
            position: relative;
            flex: 1;
            min-width: 180px;
            display: flex;
            align-items: center;
        }

        #rr-filter-section .rr-search-input {
            width: 100%;
            box-sizing: border-box;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 10px;
            padding: 0 14px 0 36px !important;
            color: #fff;
            font-size: 16px;
            /* ≥16px: no iOS zoom */
            font-family: inherit;
            transition: border-color 0.2s, background 0.2s;
            outline: none;
            height: 36px;
            line-height: 36px;
        }

        #rr-filter-section .rr-search-input::placeholder {
            color: rgba(255, 255, 255, 0.22);
            font-size: 13px;
            /* placeholder can be smaller visually */
        }

        .rr-search-icon {
            position: absolute;
            left: 11px;
            top: 50%;
            transform: translateY(-50%);
            opacity: 0.28;
            pointer-events: none;
            flex-shrink: 0;
            z-index: 1;
        }

        #rr-filter-section .rr-search-input:focus {
            background: rgba(var(--ui-accent-rgb), 0.04);
            border-color: rgba(var(--ui-accent-rgb), 0.35);
        }

        /* ── Hero search (top of X-Ray browser) with DM01 Honeycomb Matrix Ignition ── */
        .rr-hero-search {
            position: relative;
            display: flex;
            align-items: center;
            width: 100%;
            height: 60px;
            box-sizing: border-box;
            background-color: #0d1017;
            border: 1.5px solid rgba(var(--ui-accent-rgb, 56, 189, 248), 0.28);
            border-radius: 16px;
            padding: 0 16px 0 20px;
            overflow: hidden;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.07),
                inset 0 0 26px rgba(0, 0, 0, 0.78),
                0 10px 28px -8px rgba(0, 0, 0, 0.85);
            transition: border-color 0.25s ease, box-shadow 0.25s ease;
            margin-bottom: 8px;
            flex-shrink: 0;
        }

        .rr-hero-search:focus-within {
            border-color: var(--ui-accent, #38bdf8);
            box-shadow:
                inset 0 1px 0 rgba(103, 232, 249, 0.45),
                inset 0 0 28px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.14),
                0 0 32px -4px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.38),
                0 12px 30px -8px rgba(0, 0, 0, 0.95);
        }

        .rr-hero-search.pulse-surge {
            border-color: rgba(103, 232, 249, 0.85);
            box-shadow:
                0 0 42px -6px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.45),
                0 24px 48px -16px rgba(0, 0, 0, 0.9),
                inset 0 0 28px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.18);
        }

        /* SVG Dot-Matrix Overlay Layer */
        .rr-hero-search .dm-matrix-svg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 5;
        }

        /* Soft center text-readability vignette */
        .rr-hero-search .dm-readability-mask {
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse 52% 80% at 35% 50%, rgba(13, 16, 23, 0.52) 0%, rgba(13, 16, 23, 0.16) 65%, transparent 100%);
            pointer-events: none;
            z-index: 8;
        }

        #rr-search.rr-hero-input,
        .rr-hero-input {
            flex: 1 1 0%;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            background: transparent !important;
            border: none !important;
            outline: none !important;
            padding: 0 14px 0 12px !important;
            color: #f8fafc;
            font-family: inherit;
            font-size: 17px;
            font-weight: 500;
            letter-spacing: -0.01em;
            position: relative;
            z-index: 20;
            text-shadow: 0 1px 6px rgba(0, 0, 0, 0.9);
            box-shadow: none !important;
        }

        #rr-search.rr-hero-input::placeholder,
        .rr-hero-input::placeholder {
            color: #94a3b8;
            opacity: 0.85;
            font-weight: 400;
        }

        .rr-hero-search-icon {
            position: relative;
            width: 20px;
            height: 20px;
            color: #94a3b8;
            margin-right: 2px;
            flex-shrink: 0;
            z-index: 20;
            transition: color 0.25s ease, filter 0.25s ease, transform 0.25s ease;
        }

        .rr-hero-search:focus-within .rr-hero-search-icon {
            color: #67e8f9;
            filter: drop-shadow(0 0 8px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.85));
            transform: scale(1.08);
        }

        .rr-hero-clear {
            display: none;
            position: relative;
            width: 28px;
            height: 28px;
            margin-left: 8px;
            align-items: center;
            justify-content: center;
            border: none;
            border-radius: 7px;
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.7);
            font-size: 13px;
            cursor: pointer;
            z-index: 20;
            flex-shrink: 0;
            transition: background 0.2s, color 0.2s;
        }

        .rr-hero-clear:hover { background: rgba(255, 255, 255, 0.18); color: #fff; }

        .rr-hero-kbd {
            position: relative;
            z-index: 20;
            width: 26px;
            height: 26px;
            border-radius: 7px;
            background: #151924;
            border: 1px solid #333a4d;
            color: #cbd5e1;
            font-family: var(--mono-font, 'JetBrains Mono', monospace);
            font-size: 12px;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            margin-left: 8px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 2px 6px rgba(0, 0, 0, 0.6);
            transition: all 0.25s ease;
            pointer-events: none;
        }

        .rr-hero-search:focus-within .rr-hero-kbd {
            border-color: var(--ui-accent, #38bdf8);
            color: #67e8f9;
            background: rgba(14, 116, 144, 0.38);
            box-shadow: 0 0 12px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.5);
        }

        .rr-matrix-badge {
            position: relative;
            z-index: 20;
            font-family: var(--mono-font, 'JetBrains Mono', monospace);
            font-size: 9.5px;
            letter-spacing: 0.08em;
            padding: 3px 8px;
            border-radius: 5px;
            background: rgba(15, 23, 42, 0.85);
            border: 1px solid rgba(var(--ui-accent-rgb, 56, 189, 248), 0.35);
            color: #7dd3fc;
            white-space: nowrap;
            margin-left: 8px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            backdrop-filter: blur(4px);
            user-select: none;
            flex-shrink: 0;
        }

        .rr-matrix-badge .dm-status-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background-color: #67e8f9;
            box-shadow: 0 0 6px #38bdf8;
            animation: dmStatusPulse 1.8s ease-in-out infinite;
        }

        @keyframes dmStatusPulse {
            0%, 100% { opacity: 0.4; transform: scale(0.9); }
            50% { opacity: 1; transform: scale(1.3); }
        }

        /* DM01: Hexagonal Sub-Pixel Honeycomb Matrix Ignition */
        .dm01-hex-dot {
            fill: #1e293b;
            opacity: 0.38;
            transform-box: fill-box;
            transform-origin: center;
            animation: dm01Honeycomb calc(2.4s / var(--speed-mult, 1)) cubic-bezier(0.34, 1.45, 0.64, 1) infinite;
            animation-delay: calc(var(--d, 0s) / var(--speed-mult, 1));
            will-change: transform, opacity, fill;
        }
        .dm01-border-dot {
            fill: var(--ui-accent, #38bdf8);
            opacity: 0.32;
            animation: dm01BorderTrack calc(2.4s / var(--speed-mult, 1)) linear infinite;
            animation-delay: calc(var(--d, 0s) / var(--speed-mult, 1));
            will-change: fill, opacity;
        }
        @keyframes dm01Honeycomb {
            0%, 100% {
                fill: #263147;
                opacity: 0.32;
                transform: scale(0.85);
            }
            30% {
                fill: #ffffff;
                opacity: 1;
                transform: scale(1.95);
                filter: drop-shadow(0 0 4px #ffffff);
            }
            50% {
                fill: var(--ui-accent, #38bdf8);
                opacity: 0.95;
                transform: scale(1.45);
                filter: drop-shadow(0 0 5px var(--ui-accent, #38bdf8));
            }
            72% {
                fill: #818cf8;
                opacity: 0.68;
                transform: scale(1.1);
            }
        }
        @keyframes dm01BorderTrack {
            0%, 100% { opacity: 0.2; fill: #334155; }
            35% { opacity: 1; fill: #67e8f9; filter: drop-shadow(0 0 3px #67e8f9); }
            65% { opacity: 0.75; fill: #818cf8; }
        }

        /* Subtle Dot-Matrix Pill Backplate for ANY & DIMENSIONS */
        .pill-dot-backplate,
        .rr-xps-pill.active {
            background-image: radial-gradient(rgba(103, 232, 249, 0.36) 1px, transparent 1px);
            background-size: 6px 6px;
        }

        /* The toolbar row that follows the hero keeps the horizontal-scroll behaviour. */
        .rr-filter-section > .rr-hero-search + .rr-filter-group {
            flex-wrap: nowrap;
            overflow-x: auto;
            overflow-y: visible;
            scrollbar-width: none;
            padding-bottom: 2px;
            -webkit-mask-image: linear-gradient(to right, #000 0px, #000 calc(100% - 24px), transparent 100%);
            mask-image: linear-gradient(to right, #000 0px, #000 calc(100% - 24px), transparent 100%);
        }

        .rr-filter-section > .rr-hero-search + .rr-filter-group::-webkit-scrollbar { display: none; }

        @media (max-width: 640px) {
            .rr-matrix-badge { display: none !important; }
        }
        @media (max-width: 520px) {
            .rr-hero-search {
                height: 52px;
                padding: 0 10px 0 12px;
            }
            .rr-hero-kbd { display: none; }
            #rr-search.rr-hero-input,
            .rr-hero-input {
                font-size: 16px;
                padding: 0 8px 0 8px !important;
            }
            .rr-hero-clear { margin-left: 4px; }
            .rr-hero-search-icon { width: 18px; height: 18px; margin-right: 0; }
            .rr-filter-section > .rr-hero-search + .rr-filter-group {
                flex-wrap: wrap;
                overflow-x: visible;
                -webkit-mask-image: none;
                mask-image: none;
            }
        }

        /* ── Latest Portfolio Buys strip ── */
        #rr-strong-buys {
            padding: 10px 16px 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-shrink: 0;
        }

        #rr-strong-buys-label {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(var(--verdict-strong-rgb), 0.7);
            margin-bottom: 8px;
        }

        #rr-strong-buys-label::before {
            content: '';
            display: inline-block;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--verdict-strong);
            box-shadow: 0 0 7px rgba(var(--verdict-strong-rgb), 0.8);
            animation: rr-buys-pulse 2s ease-in-out infinite;
        }

        .rr-portfolio-link {
            margin-left: auto;
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: rgba(var(--verdict-strong-rgb), 0.45);
            text-decoration: none;
            border: 1px solid rgba(var(--verdict-strong-rgb), 0.18);
            border-radius: 99px;
            padding: 2px 8px;
            transition: color 0.15s, border-color 0.15s, background 0.15s;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .rr-portfolio-link:hover {
            color: var(--verdict-strong);
            border-color: rgba(var(--verdict-strong-rgb), 0.45);
            background: rgba(var(--verdict-strong-rgb), 0.07);
        }

        @keyframes rr-buys-pulse {

            0%,
            100% {
                opacity: 1;
                transform: scale(1);
            }

            50% {
                opacity: 0.55;
                transform: scale(0.82);
            }
        }

        #rr-strong-buys-scroll {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 10px;
            padding-bottom: 2px;
        }

        #rr-strong-buys-scroll::-webkit-scrollbar {
            display: none;
        }

        /* Collapse toggle */
        #rr-strong-buys.collapsed #rr-strong-buys-scroll {
            display: none;
        }

        #rr-strong-buys-label {
            cursor: pointer;
        }

        #rr-strong-buys-chevron {
            transition: transform 0.2s;
            margin-left: 4px;
            opacity: 0.5;
        }

        #rr-strong-buys.collapsed #rr-strong-buys-chevron {
            transform: rotate(-90deg);
        }

        .rr-buy-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 9px;
            background: rgba(var(--verdict-strong-rgb), 0.07);
            border: 1px solid rgba(var(--verdict-strong-rgb), 0.20);
            border-radius: 8px;
            text-decoration: none;
            cursor: pointer;
            flex-shrink: 0;
            transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
            min-width: 0;
        }

        .rr-buy-chip:hover {
            background: rgba(var(--verdict-strong-rgb), 0.13);
            border-color: rgba(var(--verdict-strong-rgb), 0.48);
            box-shadow: 0 0 8px rgba(var(--verdict-strong-rgb), 0.18);
        }

        .rr-buy-chip-ticker {
            font-size: 10px;
            font-weight: 800;
            color: var(--verdict-strong);
            font-family: var(--mono-font);
            letter-spacing: 0.04em;
            white-space: nowrap;
        }

        .rr-buy-chip-name {
            font-size: 9px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.50);
            white-space: nowrap;
            max-width: 90px;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .rr-buy-chip-date {
            font-size: 8px;
            color: rgba(255, 255, 255, 0.22);
            font-family: var(--mono-font);
            white-space: nowrap;
        }

        .rr-buy-chip-arrow {
            color: rgba(var(--verdict-strong-rgb), 0.40);
            flex-shrink: 0;
            transition: transform 0.15s;
        }

        .rr-buy-chip:hover .rr-buy-chip-arrow {
            transform: translate(2px, -2px);
            color: rgba(var(--verdict-strong-rgb), 0.9);
        }

        /* ── Smart buttons (Favourites / My Reports) ── */
        .rr-smart-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 0 12px;
            height: 36px;
            border-radius: 10px;
            font-size: 11px;
            font-weight: 700;
            border: 1px solid rgba(255, 255, 255, 0.10);
            background: rgba(255, 255, 255, 0.03);
            color: rgba(255, 255, 255, 0.42);
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;
            letter-spacing: 0.01em;
        }

        .rr-smart-btn:hover {
            background: rgba(255, 255, 255, 0.07);
            color: rgba(255, 255, 255, 0.75);
            border-color: rgba(255, 255, 255, 0.18);
        }

        .rr-smart-btn.active {
            color: var(--ui-accent);
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            background: rgba(var(--ui-accent-rgb), 0.10);
        }

        /* ── Verdict filter pills ── */
        .rr-filter-pill {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            padding: 0 10px;
            height: 28px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 20px;
            border: 1px solid rgba(255, 255, 255, 0.10);
            background: rgba(255, 255, 255, 0.03);
            color: rgba(255, 255, 255, 0.36);
            cursor: pointer;
            transition: background 0.12s, border-color 0.12s, color 0.12s;
            white-space: nowrap;
        }

        .rr-filter-pill:hover {
            background: rgba(255, 255, 255, 0.07);
            color: rgba(255, 255, 255, 0.65);
        }

        .rr-filter-pill.active {
            border-color: currentColor;
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.90);
        }

        .rr-filter-pill.pill-strong-buy.active {
            color: var(--verdict-strong);
            border-color: var(--verdict-strong);
            background: rgba(48, 126, 255, 0.10);
        }

        .rr-filter-pill.pill-buy.active {
            color: var(--verdict-buy);
            border-color: var(--verdict-buy);
            background: rgba(8, 209, 129, 0.10);
        }

        .rr-filter-pill.pill-watchlist.active {
            color: var(--score-3);
            border-color: var(--score-3);
            background: rgba(237, 209, 25, 0.08);
        }

        .rr-filter-pill.pill-avoid.active {
            color: var(--score-2);
            border-color: var(--score-2);
            background: rgba(224, 122, 95, 0.10);
        }

        .rr-filter-pill.pill-short.active {
            color: var(--score-1);
            border-color: var(--score-1);
            background: rgba(195, 69, 61, 0.10);
        }

        /* ── Dimensions Toggle Button ── */
        #rr-dim-toggle-btn {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 0 14px;
            height: 30px;
            border-radius: 20px;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.30);
            background: rgba(var(--ui-accent-rgb), 0.07);
            color: rgba(var(--ui-accent-rgb), 0.80);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            cursor: pointer;
            font-family: inherit;
            transition: background 0.15s, border-color 0.15s, color 0.15s;
            user-select: none;
        }
        #rr-dim-toggle-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.14);
            border-color: rgba(var(--ui-accent-rgb), 0.50);
            color: var(--ui-accent);
        }
        #rr-dim-toggle-btn.open {
            background: rgba(var(--ui-accent-rgb), 0.14);
            border-color: rgba(var(--ui-accent-rgb), 0.55);
            color: var(--ui-accent);
        }

        /* ── Dimension Filters button ── prominent, right of verdict row ── */
        .rr-score-filter-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 0 13px;
            height: 28px;
            border-radius: 20px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            border: 1px solid rgba(8, 209, 129, 0.30);
            background: rgba(8, 209, 129, 0.06);
            color: rgba(8, 209, 129, 0.65);
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;
            position: relative;
        }

        .rr-score-filter-btn:hover {
            background: rgba(8, 209, 129, 0.12);
            color: rgba(8, 209, 129, 1.0);
            border-color: rgba(8, 209, 129, 0.55);
            box-shadow: 0 0 10px rgba(8, 209, 129, 0.18);
        }

        .rr-score-filter-btn.active {
            color: #08d181;
            border-color: rgba(8, 209, 129, 0.55);
            background: rgba(8, 209, 129, 0.10);
            box-shadow: 0 0 12px rgba(8, 209, 129, 0.20);
        }

        /* Active count badge on Dimensions button */
        .rr-score-filter-btn .rr-dim-count {
            display: none;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: #08d181;
            color: #000;
            font-size: 9px;
            font-weight: 900;
            letter-spacing: 0;
            flex-shrink: 0;
        }

        .rr-score-filter-btn.active .rr-dim-count {
            display: inline-flex;
        }

        /* ── Combobox dropdowns ── */
        .rr-cs-wrap {
            position: relative;
            min-width: 0;
            flex: 1;
            max-width: 160px;
        }

        .rr-cs-trigger {
            display: flex;
            align-items: center;
            gap: 4px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 8px;
            padding: 0 8px 0 10px;
            height: 30px;
            cursor: text;
            transition: all 0.18s;
        }

        .rr-cs-wrap.open .rr-cs-trigger,
        .rr-cs-trigger:hover {
            border-color: rgba(255, 255, 255, 0.18);
            background: rgba(255, 255, 255, 0.07);
        }

        .rr-cs-wrap.has-value .rr-cs-trigger {
            border-color: rgba(var(--ui-accent-rgb), 0.35);
            background: rgba(var(--ui-accent-rgb), 0.06);
        }

        .rr-cs-input {
            flex: 1;
            min-width: 0;
            background: none;
            border: none;
            outline: none;
            color: rgba(255, 255, 255, 0.80);
            font-size: 11px;
            font-weight: 500;
            font-family: inherit;
            cursor: pointer;
            width: 100%;
            letter-spacing: 0.02em;
        }

        .rr-cs-input::placeholder {
            color: rgba(255, 255, 255, 0.30);
            font-size: 11px;
        }

        .rr-cs-wrap.has-value .rr-cs-input {
            color: var(--ui-accent);
        }

        .rr-cs-chevron {
            flex-shrink: 0;
            opacity: 0.28;
            transition: transform 0.15s;
            pointer-events: none;
        }

        .rr-cs-wrap.open .rr-cs-chevron {
            transform: rotate(180deg);
            opacity: 0.55;
        }

        .rr-cs-clear {
            flex-shrink: 0;
            display: none;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.35);
            cursor: pointer;
            font-size: 14px;
            line-height: 1;
            padding: 0 2px;
            transition: color 0.15s;
        }

        .rr-cs-clear:hover {
            color: rgba(255, 255, 255, 0.8);
        }

        .rr-cs-wrap.has-value .rr-cs-clear {
            display: block;
        }

        .rr-cs-wrap.has-value .rr-cs-chevron {
            display: none;
        }

        .rr-cs-dropdown {
            display: none;
            position: absolute;
            top: calc(100% + 4px);
            left: 0;
            min-width: 180px;
            background: #151518;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 10px;
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7);
            z-index: 9999;
            overflow: hidden;
        }

        .rr-cs-wrap.open .rr-cs-dropdown {
            display: block;
        }

        .rr-cs-list {
            list-style: none;
            margin: 0;
            padding: 4px;
            max-height: 220px;
            overflow-y: auto;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
        }

        .rr-cs-list::-webkit-scrollbar {
            width: 4px;
        }

        .rr-cs-list::-webkit-scrollbar-track {
            background: transparent;
        }

        .rr-cs-list::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.12);
            border-radius: 2px;
        }

        .rr-cs-option {
            padding: 7px 10px;
            font-size: 11px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.60);
            border-radius: 7px;
            cursor: pointer;
            transition: background 0.1s, color 0.1s;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .rr-cs-option:hover {
            background: rgba(255, 255, 255, 0.07);
            color: rgba(255, 255, 255, 0.9);
        }

        .rr-cs-option.selected {
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.10);
        }

        .rr-cs-option.placeholder-opt {
            color: rgba(255, 255, 255, 0.25);
            font-style: italic;
        }

        .rr-cs-no-results {
            padding: 10px 12px;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.25);
            text-align: center;
        }

        /* ── Timeframe preset buttons ── */
        .rr-date-preset-btn {
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.35);
            cursor: pointer;
            padding: 0 7px;
            height: 26px;
            line-height: 26px;
            border-radius: 5px;
            border: 1px solid transparent;
            transition: all 0.15s;
            white-space: nowrap;
            letter-spacing: 0.04em;
        }

        .rr-date-preset-btn:hover {
            color: #fff;
            background: rgba(255, 255, 255, 0.05);
        }

        .rr-date-preset-btn.active {
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.10);
            border-color: rgba(var(--ui-accent-rgb), 0.28);
        }

        /* ── Date range ── */
        .rr-date-range-wrap {
            display: flex;
            align-items: center;
            gap: 5px;
            background: rgba(255, 255, 255, 0.02);
            padding: 0 8px;
            height: 26px;
            border-radius: 7px;
            border: 1px solid rgba(255, 255, 255, 0.07);
        }

        .rr-date-input {
            background: transparent;
            border: none;
            color: rgba(255, 255, 255, 0.55);
            font-size: 11px;
            font-family: var(--mono-font);
            padding: 0;
            outline: none;
            cursor: pointer;
            width: 76px;
            letter-spacing: 0.02em;
            transition: color 0.15s;
        }

        .rr-date-input::placeholder {
            color: rgba(255, 255, 255, 0.18);
        }

        .rr-date-input:focus {
            color: rgba(255, 255, 255, 0.85);
        }

        /* ── Active filter badges row ── */
        #rr-active-filters {
            display: none;
            margin-top: 10px;
            margin-bottom: 8px;
            padding: 4px 0 6px 0;
            flex-wrap: wrap;
            gap: 6px 8px;
            align-items: center;
            width: 100%;
            box-sizing: border-box;
            clear: both;
        }

        .rr-active-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            padding: 4px 8px 4px 10px;
            border-radius: 20px;
            background: rgba(var(--ui-secondary-rgb), 0.10);
            border: 1px solid rgba(var(--ui-secondary-rgb), 0.30);
            color: var(--ui-secondary);
            white-space: nowrap;
            line-height: 1.25;
            box-sizing: border-box;
        }

        .rr-active-badge-x {
            cursor: pointer;
            opacity: 0.55;
            font-size: 13px;
            line-height: 1;
            padding: 0 1px;
            transition: opacity 0.12s, color 0.12s;
            font-style: normal;
        }

        .rr-active-badge-x:hover {
            opacity: 1;
            color: #fff;
        }

        /* ── Clear all active filters button ── */
        .rr-clear-all-btn {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 9.5px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 4px 10px;
            border-radius: 20px;
            background: rgba(255, 46, 46, 0.10);
            border: 1px solid rgba(255, 46, 46, 0.28);
            color: rgba(255, 100, 100, 0.85);
            cursor: pointer;
            white-space: nowrap;
            transition: background 0.15s, color 0.15s, border-color 0.15s;
            margin-left: 2px;
            line-height: 1.25;
            box-sizing: border-box;
        }
        .rr-clear-all-btn:hover {
            background: rgba(255, 46, 46, 0.20);
            border-color: rgba(255, 46, 46, 0.45);
            color: #fff;
        }

        /* ── Clear all link ── */
        .rr-filter-clear {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.20);
            cursor: pointer;
            padding: 2px 4px;
            border-radius: 4px;
            transition: color 0.12s;
            white-space: nowrap;
            letter-spacing: 0.06em;
        }

        .rr-filter-clear:hover {
            color: rgba(255, 255, 255, 0.55);
        }

        .rr-col-label {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.25);
        }

        .rr-col-label.sortable {
            cursor: pointer;
            transition: color 0.15s;
        }

        .rr-col-label.sortable:hover {
            color: rgba(255, 255, 255, 0.6);
        }

        .rr-col-label.sortable.active {
            color: var(--ui-accent);
        }

        .rr-col-label.sortable.active::after {
            content: ' ↓';
            font-size: 8px;
        }

        .rr-col-label.sortable.active.asc::after {
            content: ' ↑';
        }

        #rr-panel.expanded .rr-row {
            padding: 10px 24px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.03);
            grid-template-columns: 34px 1.8fr 1.2fr 1.2fr 1.3fr 1.6fr 1.3fr 34px;
            align-items: center;
            gap: 1px;
        }

        .rr-compare-check {
            width: 17px;
            height: 17px;
            accent-color: var(--ui-accent);
            cursor: pointer;
        }

        .rr-row-inner {
            display: contents;
            text-decoration: none;
            color: inherit;
        }

        #rr-compare-bar {
            position: fixed;
            bottom: 24px;
            left: 50%;
            transform: translateX(-50%);
            background: rgba(15, 17, 26, 0.96);
            border: 1px solid var(--ui-accent);
            padding: 8px 18px;
            border-radius: 40px;
            display: none;
            align-items: center;
            gap: 12px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.05);
            backdrop-filter: blur(12px);
            z-index: 100000;
            max-width: calc(100vw - 32px);
        }

        .rr-compare-btn {
            background: var(--ui-accent);
            color: #000;
            border: none;
            padding: 8px 18px;
            min-height: 44px;
            min-width: 80px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 22px;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
            text-transform: uppercase;
            letter-spacing: 0.02em;
            touch-action: manipulation;
        }

        .rr-compare-clear-btn {
            background: transparent;
            color: rgba(255, 255, 255, 0.5);
            border: none;
            cursor: pointer;
            font-size: 16px;
            padding: 8px 12px;
            min-width: 44px;
            min-height: 44px;
            border-radius: 6px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: color 0.15s;
            touch-action: manipulation;
        }

        .rr-compare-clear-btn:hover {
            color: #fff;
        }

        .comp-grid {
            display: grid;
            gap: 12px;
            padding: 24px;
            max-width: 1200px;
            margin: 0 auto;
            min-width: 580px;
        }

        .comp-header {
            padding: 14px 16px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 8px;
        }

        .comp-label {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.45);
            display: flex;
            align-items: center;
            padding: 10px 12px;
            background: rgba(255, 255, 255, 0.015);
            border-radius: 6px;
        }

        .comp-value {
            font-size: 12px;
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.85);
            padding: 10px 14px;
            background: rgba(255, 255, 255, 0.02);
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.04);
            white-space: pre-wrap;
            word-break: break-word;
        }

        @media (max-width: 768px) {
            /* Panel + list scrolling — declared above; rr-list flex already set */

            /* Header: compact single row — title + icons + close button.
               Close is absolute-positioned to the right so it never gets
               squeezed out by flex overflow. All non-essential buttons hidden. */
            #rr-panel-header {
                padding: 0 52px 0 14px !important; /* right padding reserves space for abs close btn */
                flex-wrap: nowrap !important;
                overflow: hidden !important;
                min-height: 52px !important;
                position: relative !important;
                z-index: 100;
                background: #0c0d12;
                display: flex !important;
                align-items: center !important;
                gap: 6px !important;
            }

            /* Title: shrinks to fit, never overflows */
            #rr-panel-title {
                flex: 1 1 auto !important;
                min-width: 0 !important;
                overflow: hidden !important;
                white-space: nowrap !important;
                gap: 6px !important;
            }

            .rr-title-svg {
                height: 18px !important;
                max-height: 20px !important;
            }

            .rr-title-text {
                font-size: 16px !important;
                font-weight: 800 !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }

            /* Result count: hide on mobile — too small to read */
            #rr-result-count {
                display: none !important;
            }

            /* Show the mobile search toggle icon button */
            #rr-mobile-search-btn {
                display: inline-flex !important;
            }

            /* Refresh + view-toggle: icon-only (hide text labels) */
            #rr-refresh-btn span,
            #rr-view-toggle-btn span {
                display: none !important;
            }
            #rr-refresh-btn,
            #rr-view-toggle-btn,
            #rr-mobile-search-btn {
                padding: 10px !important;
                min-width: 44px !important;
                min-height: 44px !important;
                justify-content: center !important;
                touch-action: manipulation !important;
            }

            /* Hide desktop-only header buttons — Compare toggle and tab switchers */
            #rr-compare-toggle,
            #rr-tab-list,
            #rr-tab-treemap {
                display: none !important;
            }

            /* Close button: absolute top-right, always visible, always touchable */
            #rr-close-btn {
                position: absolute !important;
                right: 8px !important;
                top: 50% !important;
                transform: translateY(-50%) !important;
                z-index: 101 !important;
                margin: 0 !important;
                flex-shrink: 0 !important;
                min-width: 44px !important;
                min-height: 44px !important;
                touch-action: manipulation !important;
            }

            /* Compact rows on mobile: just company + verdict, no scores */
            .rr-row {
                grid-template-columns: 1fr auto !important;
                gap: 12px !important;
                padding: 12px 14px !important;
                align-items: center !important;
                min-height: 48px !important;
                touch-action: manipulation !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
            }

            /* Compact rows on mobile: just company + verdict, hide scores by default but allow card-view to override */
            .rr-row .rr-scores-compact,
            .rr-row .rr-scores-cell,
            .rr-row .rr-open-icon,
            .rr-row .rr-date:nth-of-type(1) {
                display: none !important;
            }

            /* Expanded-mode rows: same clean 2-col layout */
            #rr-panel.expanded .rr-row {
                grid-template-columns: 1fr auto !important;
                gap: 12px !important;
                padding: 12px 14px !important;
                min-height: 48px !important;
                touch-action: manipulation !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
            }

            /* Company block: full width, no overflow clipping */
            .rr-row .rr-company {
                min-width: 0 !important;
                overflow: hidden !important;
            }

            /* Company name: slightly larger, wrap allowed on mobile */
            .rr-row .rr-company-name {
                font-size: 13px !important;
                white-space: normal !important;
                line-height: 1.3 !important;
            }

            /* Meta line (ticker · sector · country): single line, truncate */
            .rr-row .rr-col-muted {
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
            }

            /* Date + badge row: smaller, tighter */
            .rr-row .rr-company-meta-row {
                gap: 5px !important;
            }

            /* Verdict badge: slightly smaller pill, stays right-aligned */
            .rr-row .rr-verdict-badge {
                font-size: 10px !important;
                padding: 5px 10px !important;
                align-self: center !important;
                white-space: nowrap !important;
                flex-shrink: 0 !important;
            }

            /* Hide the header checkbox column and comparison checkbox */
            .rr-compare-check {
                display: none !important;
            }

            /* Date range presets (L7/L30/L90 etc) — too cramped on mobile */
            .rr-date-preset-btn {
                display: none !important;
            }

            /* Latest Portfolio Buys — single column on mobile */
            #rr-strong-buys-scroll {
                grid-template-columns: 1fr !important;
            }

            .rr-buy-chip-overflow {
                display: none !important;
            }

            /* Verdict filter pills on mobile: touch-friendly targets */
            .rr-filter-pill {
                height: 38px !important;
                min-width: 44px !important;
                padding: 0 12px !important;
                font-size: 11px !important;
                touch-action: manipulation !important;
            }

            /* ── Card view on mobile ── */

            /* Single-column grid on mobile */
            #rr-list.rr-card-view {
                grid-template-columns: 100% !important;
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                gap: 10px !important;
                padding: 10px 8px !important;
                overflow-y: auto !important;
                overflow-x: hidden !important;
            }

            /* Card view — no hover transform on touch */
            #rr-list.rr-card-view .report-card:hover {
                transform: none !important;
            }

            /* Card view — restore card layout on mobile */
            #rr-list.rr-card-view .report-card {
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                overflow: hidden !important;
                gap: 10px !important;
                padding: 13px !important;
                min-height: 44px;
            }
        }

        .score-filter-popover {
            position: absolute;
            background: rgba(14, 14, 15, 0.98);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 14px;
            box-shadow: 0 12px 48px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.02);
            z-index: 11000;
            display: none;
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
        }

        .score-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 10px;
        }

        .score-row:last-child {
            margin-bottom: 0;
        }

        .score-row label {
            font-size: 10px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.4);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .rr-dim-filter {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 6px;
            padding: 2px 6px;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.8);
            cursor: pointer;
            outline: none;
        }

        .rr-fav-toggle {
            font-size: 14px;
            color: rgba(255, 255, 255, 0.2);
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 4px;
            border-radius: 6px;
        }

        .rr-fav-toggle:hover {
            color: rgba(255, 255, 255, 0.5);
            background: rgba(255, 255, 255, 0.05);
        }

        .rr-fav-toggle.active {
            color: #edd119;
            background: rgba(237, 209, 25, 0.1);
        }

        .rr-scores-compact {
            display: flex;
            gap: 4px;
            flex-wrap: wrap;
        }

        .rr-score-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 2px;
            padding: 2px 6px;
            border-radius: 5px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.04em;
            white-space: nowrap;
            border: 1px solid transparent;
            font-family: var(--mono-font, monospace);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.4);
            min-width: 32px;
            transition: all 0.2s;
        }

        .rr-score-badge.score-1 {
            background: rgba(255, 46, 46, 0.12);
            color: var(--score-1);
            border-color: rgba(255, 46, 46, 0.30);
        }

        .rr-score-badge.score-2 {
            background: rgba(255, 191, 0, 0.12);
            color: var(--score-2);
            border-color: rgba(255, 191, 0, 0.30);
        }

        .rr-score-badge.score-3 {
            background: rgba(0, 234, 255, 0.12);
            color: var(--score-3);
            border-color: rgba(0, 234, 255, 0.30);
        }

        .rr-score-badge.score-4 {
            background: rgba(8, 209, 129, 0.12);
            color: var(--score-4);
            border-color: rgba(8, 209, 129, 0.30);
        }

        .rr-score-badge.score-5 {
            background: rgba(48, 126, 255, 0.12);
            color: var(--score-5);
            border-color: rgba(48, 126, 255, 0.30);
        }

        .rr-col-label {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.25);
        }

        .rr-filter-clear {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.22);
            cursor: pointer;
            padding: 2px 4px;
            border-radius: 4px;
            transition: color 0.12s;
            margin-left: auto;
            white-space: nowrap;
        }

        .rr-filter-clear:hover {
            color: rgba(255, 255, 255, 0.6);
        }

        #rr-status {
            padding: 24px 16px;
            text-align: center;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.32);
            grid-column: 1 / -1;
        }

        /* ── Reports browser: sphere loading animation ── */
        #rr-status.spinner {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 48px 16px;
            gap: 18px;
            grid-column: 1 / -1;
        }

        .rr-sphere {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 72px;
            height: 72px;
            flex-shrink: 0;
        }

        .rr-sphere-ring {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            animation: rr-ring-spin 4s linear infinite;
        }

        @keyframes rr-ring-spin {
            0% {
                transform: rotate(0deg);
                box-shadow:
                    0 5px 14px 2px rgba(255, 255, 255, 0.18) inset,
                    0 14px 22px 0 rgba(200, 200, 200, 0.12) inset,
                    0 28px 34px 0 rgba(255, 255, 255, 0.06) inset;
            }

            50% {
                transform: rotate(180deg);
                box-shadow:
                    0 5px 14px 2px rgba(255, 255, 255, 0.26) inset,
                    0 12px 20px 0 rgba(200, 200, 200, 0.16) inset,
                    0 22px 30px 0 rgba(255, 255, 255, 0.08) inset;
            }

            100% {
                transform: rotate(360deg);
                box-shadow:
                    0 5px 14px 2px rgba(255, 255, 255, 0.18) inset,
                    0 14px 22px 0 rgba(200, 200, 200, 0.12) inset,
                    0 28px 34px 0 rgba(255, 255, 255, 0.06) inset;
            }
        }

        .rr-sphere-label {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.22);
        }

        .rr-sphere-dot {
            display: inline-block;
            opacity: 0.3;
            animation: rr-dot-pulse 1.4s ease-in-out infinite;
        }

        .rr-sphere-dot:nth-child(2) {
            animation-delay: 0.15s;
        }

        .rr-sphere-dot:nth-child(3) {
            animation-delay: 0.30s;
        }

        @keyframes rr-dot-pulse {

            0%,
            100% {
                opacity: 0.3;
                transform: translateY(0);
            }

            40% {
                opacity: 0.9;
                transform: translateY(-2px);
            }
        }

        @media (max-width: 600px) {
            .result-topnav {
                gap: 10px;
            }

            .result-topnav-links {
                gap: 6px;
            }
        }

        .report-btn:hover,
        .excel-btn:hover {
            opacity: 0.8;
            border-color: rgba(255, 255, 255, 0.2);
            background: rgba(55, 55, 55, 0.5);
        }

        /* ── Quick New Analysis Popup ── */
        #quick-analysis-overlay {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 9100;
            align-items: center;
            justify-content: center;
            background: rgba(0, 0, 0, 0.65);
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
        }

        #quick-analysis-overlay.open {
            display: flex;
        }

        #quick-analysis-popup {
            background: rgba(14, 14, 15, 0.98);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 18px;
            box-shadow: 0 24px 64px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.04);
            padding: 28px 28px 24px;
            width: 380px;
            max-width: calc(100vw - 32px);
            position: relative;
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
        }

        #quick-analysis-popup .qa-title {
            font-size: 13px;
            font-weight: 750;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: rgba(255, 255, 255, 0.75);
            margin-bottom: 6px;
        }

        #quick-analysis-popup .qa-sub {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.35);
            margin-bottom: 20px;
            letter-spacing: 0.02em;
        }

        #quick-analysis-popup .qa-input-wrap {
            position: relative;
            margin-bottom: 14px;
        }

        #qa-ticker-input {
            width: 100%;
            box-sizing: border-box;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 10px;
            color: rgba(255, 255, 255, 0.88);
            font-size: 15px;
            font-weight: 600;
            padding: 12px 14px;
            outline: none;
            font-family: inherit;
            letter-spacing: 0.03em;
            transition: border-color 0.15s, background 0.15s;
        }

        #qa-ticker-input::placeholder {
            color: rgba(255, 255, 255, 0.22);
            font-weight: 400;
        }

        #qa-ticker-input:focus {
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.45);
            background: rgba(255, 255, 255, 0.07);
        }

        #qa-submit-btn {
            width: 100%;
            padding: 13px;
            border-radius: 10px;
            border: none;
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.14);
            color: rgba(var(--ui-accent-rgb, 176, 176, 176), 1);
            font-size: 12px;
            font-weight: 750;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            cursor: pointer;
            font-family: inherit;
            transition: background 0.15s;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        #qa-submit-btn:hover:not(:disabled) {
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.24);
        }

        #qa-submit-btn:disabled {
            opacity: 0.4;
            cursor: default;
        }

        .qa-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .qa-config-link {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.38);
            cursor: pointer;
            border: none;
            background: none;
            font-family: inherit;
            padding: 0;
            transition: color 0.15s;
            text-decoration: none;
        }

        .qa-config-link:hover {
            color: rgba(255, 255, 255, 0.75);
        }

        #qa-close-btn {
            position: absolute;
            top: 16px;
            right: 16px;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.25);
            cursor: pointer;
            padding: 4px 6px;
            border-radius: 6px;
            font-size: 15px;
            line-height: 1;
            transition: color 0.15s;
        }

        #qa-close-btn:hover {
            color: rgba(255, 255, 255, 0.75);
        }

        #qa-error-msg {
            font-size: 11px;
            color: var(--score-2);
            margin-top: 6px;
            min-height: 14px;
            display: none;
        }

        #qa-key-row {
            margin-bottom: 14px;
        }

        #qa-key-input {
            width: 100%;
            box-sizing: border-box;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 10px;
            color: rgba(255, 255, 255, 0.85);
            font-size: 13px;
            font-weight: 500;
            padding: 10px 14px;
            outline: none;
            font-family: inherit;
            letter-spacing: 0.02em;
            transition: border-color 0.15s, background 0.15s;
        }

        #qa-key-input::placeholder {
            color: rgba(255, 255, 255, 0.20);
            font-weight: 400;
        }

        #qa-key-input:focus {
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.40);
            background: rgba(255, 255, 255, 0.06);
        }

        #qa-key-error-msg {
            font-size: 11px;
            color: var(--score-2);
            margin-top: 6px;
            min-height: 14px;
            display: none;
        }

        #qa-default-config-note {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.25);
            text-align: center;
            margin-top: 8px;
            letter-spacing: 0.03em;
        }

        .new-scan-btn,
        .nav-btn {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.7);
            padding: 10px 20px;
            border-radius: 30px;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            backdrop-filter: blur(10px);
        }

        .new-scan-btn svg,
        .nav-btn svg {
            width: 14px;
            height: 14px;
            stroke-width: 2.5;
        }

        .new-scan-btn:hover,
        .nav-btn:hover {
            background: rgba(255, 255, 255, 0.10);
            color: white;
            border-color: rgba(255, 255, 255, 0.22);
            transform: translateY(-1px);
        }

        .new-scan-btn.primary,
        .refresh-btn {
            background: rgba(255, 255, 255, 0.05) !important;
            border: 1px solid rgba(255, 255, 255, 0.1) !important;
            color: var(--text-main) !important;
            box-shadow: none;
        }

        .new-scan-btn.primary:hover,
        .refresh-btn:hover {
            background: rgba(10, 132, 255, 0.15) !important;
            border-color: rgba(10, 132, 255, 0.5) !important;
            color: #ffffff !important;
            box-shadow: 0 0 18px rgba(10, 132, 255, 0.2) !important;
            transform: translateY(-1px);
        }

        .external-link-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px 14px;
            font-size: 11px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.7);
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 20px;
            text-decoration: none;
            transition: all 0.3s ease;
            backdrop-filter: blur(10px);
        }

        .external-link-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.2);
            color: rgba(255, 255, 255, 0.95);
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        }

        /* ── External Research Link Cards ── */
        .ext-links-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
            gap: 10px;
        }

        .ext-link-card {
            display: flex;
            flex-direction: column;
            gap: 4px;
            padding: 14px 14px 12px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            text-decoration: none;
            transition: background 0.18s, border-color 0.18s, transform 0.18s;
            cursor: pointer;
        }

        .ext-link-card:hover {
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.18);
            transform: translateY(-2px);
        }

        .ext-link-card-icon {
            width: 34px;
            height: 34px;
            border-radius: 9px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.09);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 10px;
            flex-shrink: 0;
            color: rgba(255, 255, 255, 0.55);
            transition: background 0.18s, color 0.18s;
        }

        .ext-link-card:hover .ext-link-card-icon {
            background: rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.85);
        }

        .ext-link-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
        }

        .ext-link-card-name {
            font-size: 12px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.88);
            letter-spacing: -0.01em;
        }

        .ext-link-card-arrow {
            color: rgba(255, 255, 255, 0.75);
            flex-shrink: 0;
            transition: opacity 0.18s, transform 0.18s;
        }

        .ext-link-card:hover .ext-link-card-arrow {
            color: #ffffff;
            transform: translate(2px, -2px);
        }

        .ext-link-card-sub {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.32);
            line-height: 1.4;
            font-weight: 400;
        }

        @media (max-width: 480px) {
            .ext-links-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .new-scan-btn svg,
        .report-btn svg,
        .excel-btn svg,
        .share-btn svg,
        .pdf-btn svg {
            width: 16px;
            height: 16px;
            stroke: currentColor;
        }

        .processing-time {
            margin: 20px auto 48px;
            font-size: 11px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.5);
            text-align: center;
            font-weight: 500;
        }

        body.results-visible .credibility-section,
        body.results-visible .faq-section,
        body.results-visible .portfolio-showcase-section,
        body.results-visible .newsletter-showcase-section,
        body.results-visible .recent-reports-showcase,
        body.results-visible .logo-strip-wrap,
        body.results-visible .robo-img,
        body.results-visible .robo-img-wrap,
        body.results-visible .footer-note,
        body.results-visible .admin-lookup,
        body.results-visible .footer-contact-row,
        body.results-visible .infrastructure-footer,
        body.analysis-loading .credibility-section,
        body.analysis-loading .faq-section,
        body.analysis-loading .portfolio-showcase-section,
        body.analysis-loading .newsletter-showcase-section,
        body.analysis-loading .recent-reports-showcase,
        body.analysis-loading .logo-strip-wrap,
        body.analysis-loading .admin-lookup,
        body.analysis-loading .footer-contact-row,
        body.analysis-loading .footer-note,
        body.analysis-loading .infrastructure-footer,
        body.analysis-loading .floating-fx-control {
            display: none !important;
        }

        body.deep-link .portfolio-showcase-section,
        body.deep-link .newsletter-showcase-section,
        body.deep-link .faq-section,
        body.deep-link .recent-reports-showcase,
        body.deep-link .logo-strip-wrap,
        body.deep-link .admin-lookup,
        body.deep-link .footer-contact-row,
        body.deep-link .footer-note,
        body.deep-link .infrastructure-footer,
        body.deep-link .floating-fx-control {
            display: none !important;
        }

        .deep-link #loading-state .alpha-badge,
        .deep-link #loading-state .loading-quick-controls,
        .deep-link #loading-state .agents-count,
        .deep-link #loading-state .summary-container,
        .deep-link #loading-state .live-wire-stream,
        .deep-link #loading-state .forensic-vital-card,
        .deep-link #loading-state #admin-mission-control,
        .deep-link #loading-state .did-you-know,
        .deep-link #loading-state .xrl-cockpit-bar,
        .deep-link #loading-state .xrl-target-right,
        .deep-link #loading-state .xrl-target-sub,
        .deep-link #loading-state .xrl-protocol-sep,
        .deep-link #loading-state .xrl-protocol-type,
        .deep-link #loading-state .xrl-feed-card,
        .deep-link #loading-state #rigor-phase-badge,
        #loading-state.simple-view .alpha-badge,
        #loading-state.simple-view .loading-quick-controls,
        #loading-state.simple-view .agents-count,
        #loading-state.simple-view .summary-container,
        #loading-state.simple-view .live-wire-stream,
        #loading-state.simple-view .forensic-vital-card,
        #loading-state.simple-view #admin-mission-control,
        #loading-state.simple-view .did-you-know,
        #loading-state.simple-view .xrl-cockpit-bar,
        #loading-state.simple-view .xrl-target-right,
        #loading-state.simple-view .xrl-target-sub,
        #loading-state.simple-view .xrl-protocol-sep,
        #loading-state.simple-view .xrl-protocol-type,
        #loading-state.simple-view .xrl-feed-card,
        #loading-state.simple-view #rigor-phase-badge {
            display: none !important;
        }

        .deep-link #loading-title,
        #loading-state.simple-view #loading-title {
            letter-spacing: 0.16em;
            font-size: 13px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.88);
        }



        @media print {
            body {
                background: #ffffff !important;
                color: #0f1116 !important;
                padding: 20px 30px !important;
            }

            body::before,
            body::after,
            .grid-bg,
            .orb,
            .theme-picker,
            #setup-view,
            .footer-note,
            .pdf-btn {
                display: none !important;
            }

            #results-view {
                display: block !important;
            }

            .summary-container,
            .result-card {
                background: #ffffff !important;
                color: #0f1116 !important;
                border: 1px solid #d6dbe6 !important;
                box-shadow: none !important;
            }

            .summary-label,
            .result-card h3,
            .company-title h2,
            .verdict-label,
            .verdict-text,
            .cube-title,
            .cube-content,
            .action-chip,
            .results-header,
            .page-aurora-title,
            .asymmetry-header,
            .asymmetry-summary {
                color: #0f1116 !important;
                -webkit-text-fill-color: #0f1116 !important;
                background: none !important;
                text-shadow: none !important;
                animation: none !important;
            }

            .result-card p,
            .result-empty {
                color: #202532 !important;
            }

            .glass-cube {
                background: #ffffff !important;
                border: 1px solid #d6dbe6 !important;
                box-shadow: none !important;
            }

            .result-links a {
                color: #0f1116 !important;
                background: #f1f4f8 !important;
                border: 1px solid #d6dbe6 !important;
                box-shadow: none !important;
            }
        }

        /* ── Dimension Trio Sections (Superinvestor-style) ── */
        .dim-trio-section {
            background: rgba(1, 1, 1, 0.85);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 22px;
            padding: 28px 24px 24px;
            margin-top: 24px;
            position: relative;
            overflow: visible;
            box-shadow:
                0 4px 24px rgba(0, 0, 0, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.04);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
        }

        .dim-trio-section::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 200px 200px;
            opacity: 0.35;
            pointer-events: none;
            mix-blend-mode: overlay;
            border-radius: 22px;
            clip-path: inset(0 round 22px);
        }

        .dim-trio-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .dim-trio-title {
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.65);
            font-family: var(--header-font, 'SF Pro Display', system-ui, sans-serif);
        }

        .dim-trio-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
            /* Prevent grid columns from blowing past the container */
            min-width: 0;
            width: 100%;
        }

        /* Single-card group (e.g. Macro Regime alone): stretch to full width */
        .dim-trio-grid--single {
            grid-template-columns: 1fr !important;
        }

        /* Wide single card: no column split — single-column for readability */
        .dim-trio-grid--single .dim-trio-body {
            max-width: none;
            /* override the 72ch limit */
        }

        /* Two-card group (e.g. Asymmetry + Macro): equal 50/50 split */
        .dim-trio-grid--duo {
            grid-template-columns: repeat(2, 1fr) !important;
        }

        .dim-trio-card {
            background: rgba(12, 12, 16, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 16px;
            padding: 22px 20px 20px;
            display: flex;
            flex-direction: column;
            gap: 0;
            transition: border-color 0.3s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
            position: relative;
            overflow: visible;
            min-width: 0; /* critical: allow grid cells to shrink below content min-width */
            box-sizing: border-box;
            box-shadow:
                0 2px 12px rgba(0, 0, 0, 0.35);
        }

        .dim-trio-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 160px 160px;
            opacity: 0.4;
            pointer-events: none;
            mix-blend-mode: overlay;
            border-radius: inherit;
            clip-path: inset(0 round 16px);
        }

        /* Subtle top sheen line */
        .dim-trio-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 20%;
            right: 20%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
            pointer-events: none;
        }

        .dim-trio-card>* {
            position: relative;
            z-index: 1;
        }

        .dim-trio-card:hover {
            border-color: rgba(255, 255, 255, 0.16);
        }

        /* ── Card-level body — always visible ── */
        .dim-card-body-wrap {
            display: block;
        }

        .dim-card-expand-btn {
            display: none;
        }

        /* ── Institutional Forensic Dimension Score Badge ── */
        .xr-dim-score-badge {
            display: inline-flex;
            align-items: center;
            height: 30px;
            padding: 2px 3px 2px 10px;
            background: rgba(14, 14, 18, 0.85);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            flex-shrink: 0;
            box-sizing: border-box;
            transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
        }

        .xr-dim-score-badge:hover {
            border-color: rgba(255, 255, 255, 0.16);
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        .xr-dim-score-num-wrap {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            flex-shrink: 0;
        }

        .xr-dim-score-val {
            font-family: var(--mono-font);
            font-size: 13.5px;
            font-weight: 800;
            color: #ffffff;
            letter-spacing: -0.02em;
            line-height: 1;
        }

        .xr-dim-score-denom {
            font-family: var(--mono-font);
            font-size: 9.5px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.35);
            line-height: 1;
            margin-right: 2px;
        }

        .xr-dim-score-meter {
            display: inline-flex;
            align-items: center;
            gap: 2.5px;
            flex-shrink: 0;
            padding: 0 1px;
        }

        .xr-meter-bar {
            width: 3px;
            height: 11px;
            border-radius: 1.5px;
            flex-shrink: 0;
            transition: opacity 0.2s ease, background 0.2s ease;
        }

        .xr-meter-bar.is-empty {
            background: rgba(255, 255, 255, 0.10);
        }

        .xr-dim-score-div {
            width: 1px;
            height: 14px;
            background: rgba(255, 255, 255, 0.10);
            margin: 0 8px;
            flex-shrink: 0;
        }

        .xr-dim-score-tag {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 3px 8px;
            border-radius: 5px;
            flex-shrink: 0;
            line-height: 1;
            box-sizing: border-box;
        }

        .xr-dim-score-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .xr-dim-score-word {
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            line-height: 1;
        }

        @media (max-width: 480px) {
            .xr-dim-score-meter {
                display: none !important;
            }
            .xr-dim-score-badge {
                height: 28px;
                padding: 2px 3px 2px 8px;
            }
            .xr-dim-score-val {
                font-size: 12.5px;
            }
            .xr-dim-score-div {
                margin: 0 6px;
            }
            .xr-dim-score-tag {
                padding: 2.5px 6.5px;
            }
            .xr-dim-score-word {
                font-size: 9px;
            }
        }

        /* ── Per-dimension color accents on result cards ── */
        /* Set --dim-c per dimension key */
        .dim-trio-card[data-dim="moat"] {
            --dim-c: 190, 110, 255;
        }

        .dim-trio-card[data-dim="wealth"] {
            --dim-c: 255, 170, 60;
        }

        .dim-trio-card[data-dim="valuation"] {
            --dim-c: 80, 210, 130;
        }

        .dim-trio-card[data-dim="reversedcf"] {
            --dim-c: 149, 210, 80;
        }

        .dim-trio-card[data-dim="peer"] {
            --dim-c: 80, 165, 255;
        }

        .dim-trio-card[data-dim="ai"] {
            --dim-c: 255, 90, 120;
        }

        .dim-trio-card[data-dim="capital"] {
            --dim-c: 255, 210, 50;
        }

        .dim-trio-card[data-dim="alignment"] {
            --dim-c: 60, 210, 200;
        }

        .dim-trio-card[data-dim="catalyst"] {
            --dim-c: 255, 135, 60;
        }

        .dim-trio-card[data-dim="macro"] {
            --dim-c: 160, 140, 255;
        }

        .dim-trio-card[data-dim="asymmetry"] {
            --dim-c: 255, 165, 80;
        }

        /* Apply dim color: left-edge accent bar + faint tinted border */
        .dim-trio-card[data-dim] {
            border-left: 2px solid rgba(var(--dim-c), 0.40);
            border-top-color: rgba(var(--dim-c), 0.08);
            border-right-color: rgba(var(--dim-c), 0.08);
            border-bottom-color: rgba(var(--dim-c), 0.08);
        }

        .dim-trio-card[data-dim]:hover {
            border-left-color: rgba(var(--dim-c), 0.65);
            border-top-color: rgba(var(--dim-c), 0.25);
            border-right-color: rgba(var(--dim-c), 0.25);
            border-bottom-color: rgba(var(--dim-c), 0.25);
            box-shadow:
                0 12px 36px rgba(0, 0, 0, 0.5),
                0 0 28px rgba(var(--dim-c), 0.10),
                inset 0 0 20px rgba(var(--dim-c), 0.03);
        }

        /* Tint the card-header separator */
        .dim-trio-card[data-dim] .dim-trio-card-header {
            border-bottom-color: rgba(var(--dim-c), 0.10);
        }

        /* Color the card title label */
        .dim-trio-card[data-dim] .dim-trio-card-title {
            color: rgba(255, 255, 255, 0.94);
        }

        /* Tint the explainer tag line */
        .dim-trio-card[data-dim] .dim-trio-card-explainer {
            color: rgba(var(--dim-c), 0.55);
        }

        /* Tinted background wash — subtle radial from top-left corner */
        .dim-trio-card[data-dim]::before {
            background:
                radial-gradient(ellipse at 0% 0%, rgba(var(--dim-c), 0.06) 0%, transparent 55%),
                var(--noise-url);
            background-size: auto, 160px 160px;
            mix-blend-mode: normal;
        }

        /* Tint the top sheen line with dim color */
        .dim-trio-card[data-dim]::after {
            background: linear-gradient(90deg, rgba(var(--dim-c), 0.25), rgba(var(--dim-c), 0.08), transparent);
        }

        /* ── Card entrance animation (opacity only — no transform to avoid layout shift) ── */
        @keyframes card-enter {
            from { opacity: 0; }
            to   { opacity: 1; }
        }

        /* Start cards invisible; JS adds .card-visible via IntersectionObserver */
        .card-enter-ready {
            opacity: 0;
            will-change: opacity;
        }

        .card-visible {
            animation: card-enter 0.30s ease both;
        }

        /* No entrance animation for users who prefer reduced motion */
        @media (prefers-reduced-motion: reduce) {
            .card-enter-ready {
                opacity: 1;
            }

            .card-visible {
                animation: none;
            }
        }

        /* ── Deferred DOM placeholders ── */
        .xr-deferred {
            min-height: 120px;
            position: relative;
        }
        .xr-deferred:not(.xr-deferred-loaded)::before {
            content: '';
            display: block;
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(255,255,255,0.012) 0%, transparent 100%);
            border-radius: 14px;
            pointer-events: none;
        }

        /* ── Ask X-Ray AI inline badges ── */
        .xr-ask-block {
            display: flex;
            align-items: flex-start;
            gap: 0;
            flex-wrap: nowrap;
            margin-top: 1px;
            padding: 0;
            min-width: 0;
        }

        /* Inside flex-column dim cards, push ask block to card bottom for alignment */
        .dim-trio-card > .xr-ask-block {
            margin-top: auto;
            padding-top: 1px;
        }

        /* Left label column — "AI" + "QUESTIONS" stacked vertically */
        .xr-ask-label {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            gap: 3px;
            flex-shrink: 0;
            padding: 4px 10px 4px 0;
            margin-right: 10px;
            border-right: 1px solid rgba(255, 255, 255, 0.07);
            min-width: 28px;
        }

        .xr-ask-label-ai {
            font-family: var(--mono-font);
            font-size: 15px;
            font-weight: 800;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1;
        }

        .xr-ask-label-sub {
            font-family: var(--mono-font);
            font-size: 7px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            line-height: 1;
            margin-top: 2px;
        }

        .xr-ask-pro-badge {
            font-family: var(--mono-font);
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.08em;
            color: #e5a93c;
            background: rgba(229, 169, 60, 0.12);
            border: 1px solid rgba(229, 169, 60, 0.28);
            border-radius: 4px;
            padding: 1px 4px;
            line-height: 1.2;
            margin-top: 3px;
        }

        .xr-ask-pills {
            display: flex;
            align-items: flex-start;
            gap: 6px;
            flex-wrap: wrap;
            flex: 1;
            min-width: 0;
        }

        .xr-ask-pill {
            display: block;
            font-family: var(--body-font);
            font-size: 11.5px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.70);
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 7px 13px;
            cursor: pointer;
            transition: color 0.15s, background 0.15s, border-color 0.15s, transform 0.1s;
            white-space: normal !important;
            word-break: break-word;
            overflow-wrap: break-word;
            line-height: 1.45;
            text-align: left;
            width: 100%;
            box-sizing: border-box;
        }

        .xr-ask-pill:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(var(--ui-accent-rgb, 176,176,176), 0.35);
            transform: translateY(-1px);
        }

        /* Locked state for non-PRO users — subtle lock icon + muted style */
        .xr-ask-pill-locked {
            position: relative;
            color: rgba(255, 255, 255, 0.40);
        }

        .xr-ask-pill-locked:hover {
            color: rgba(255, 255, 255, 0.75);
            border-color: rgba(255, 255, 255, 0.18);
            background: rgba(255, 255, 255, 0.05);
        }

        /* CSS tooltip for locked pills */
        .xr-ask-pill-locked::after {
            content: 'PRO feature \2014 click to learn more';
            position: absolute;
            bottom: calc(100% + 6px);
            left: 50%;
            transform: translateX(-50%) scale(0.95);
            background: rgba(14, 14, 18, 0.95);
            border: 1px solid rgba(48, 126, 255, 0.25);
            color: rgba(255, 255, 255, 0.65);
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.04em;
            padding: 4px 10px;
            border-radius: 6px;
            white-space: nowrap;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.2s, transform 0.2s;
            z-index: 10;
            font-family: var(--mono-font, monospace);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        .xr-ask-pill-locked:hover::after {
            opacity: 1;
            transform: translateX(-50%) scale(1);
        }

        .xr-ask-pill-lock-icon {
            display: inline;
            opacity: 0.4;
            margin-right: 4px;
            vertical-align: baseline;
            position: relative;
            top: 1px;
        }

        /* Inline paywall toast — appears above the clicked pill */
        .xr-ask-toast {
            position: fixed;
            left: 50%;
            bottom: 80px;
            transform: translateX(-50%) translateY(8px);
            background: rgba(14, 14, 18, 0.97);
            border: 1px solid rgba(48, 126, 255, 0.35);
            border-radius: 12px;
            padding: 10px 16px;
            display: flex;
            align-items: center;
            gap: 10px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 24px rgba(48, 126, 255, 0.08);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            z-index: 10000;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.2s ease, transform 0.2s ease;
            max-width: 380px;
            font-family: var(--body-font);
        }

        .xr-ask-toast.visible {
            opacity: 1;
            pointer-events: auto;
            transform: translateX(-50%) translateY(0);
        }

        .xr-ask-toast-icon {
            flex-shrink: 0;
            width: 28px;
            height: 28px;
            border-radius: 8px;
            background: rgba(48, 126, 255, 0.12);
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .xr-ask-toast-icon svg { color: #307eff; }

        .xr-ask-toast-text {
            font-size: 12px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.80);
            line-height: 1.4;
        }

        .xr-ask-toast-text strong {
            color: #307eff;
            font-weight: 700;
        }

        .xr-ask-toast-btn {
            flex-shrink: 0;
            background: #307eff;
            color: #fff;
            border: none;
            border-radius: 8px;
            padding: 6px 12px;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.04em;
            cursor: pointer;
            transition: background 0.15s;
            font-family: inherit;
            white-space: nowrap;
        }

        .xr-ask-toast-btn:hover {
            background: #5098ff;
        }

        @keyframes xr-ask-shake {
            0%, 100% { transform: translateX(0); }
            15% { transform: translateX(-3px); }
            30% { transform: translateX(3px); }
            45% { transform: translateX(-2px); }
            60% { transform: translateX(2px); }
            75% { transform: translateX(-1px); }
        }

        @media (max-width: 768px) {
            .xr-ask-block {
                flex-direction: column;
                align-items: flex-start;
                gap: 8px;
            }

            .xr-ask-pill {
                font-size: 10px;
                padding: 4px 12px;
            }
        }

        /* ── Collapsible dim-trio-section ── */
        .dim-trio-header {
            cursor: pointer;
            user-select: none;
            -webkit-user-select: none;
        }

        .dim-trio-header:hover .dim-trio-title {
            color: rgba(255, 255, 255, 0.65);
        }

        .dim-trio-chevron {
            margin-left: auto;
            flex-shrink: 0;
            color: rgba(255, 255, 255, 0.28);
            transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s ease;
        }

        .dim-trio-header:hover .dim-trio-chevron {
            color: rgba(255, 255, 255, 0.55);
        }

        /* Collapsed state */
        .dim-trio-section.collapsed .dim-trio-grid {
            display: none;
        }

        .dim-trio-section.collapsed .dim-trio-header {
            margin-bottom: 0;
            padding-bottom: 0;
            border-bottom-color: transparent;
        }

        .dim-trio-section.collapsed .dim-trio-chevron {
            transform: rotate(-90deg);
        }

        /* Keyboard-focused section highlight */
        .dim-trio-section.kbd-focus {
            outline: 2px solid rgba(var(--ui-accent-rgb), 0.45);
            outline-offset: 3px;
        }

        /* Keyboard nav tip at bottom of report */
        .dim-kbd-tip {
            text-align: center;
            font-size: 10px;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.16);
            letter-spacing: 0.04em;
            padding: 18px 0 4px;
            user-select: none;
            -webkit-user-select: none;
        }

        .dim-kbd-tip kbd {
            display: inline-block;
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            padding: 1px 5px;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 3px;
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.30);
            line-height: 1.5;
        }

        /* ── More Intelligence (end-of-report related reports) ── */
        #xr-more-intel {
            margin: 52px 0 0;
            padding: 32px 28px 28px;
            border-radius: 18px;
            background: rgba(8, 8, 10, 0.82);;
            border: 1px solid var(--glass-border);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), inset 0 -1px 0 rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.6), 0 8px 32px rgba(0, 0, 0, 0.3);
        }
        .xr-more-intel-top {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }
        .xr-more-intel-heading {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
        .xr-more-intel-eyebrow {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.65);
            font-family: var(--mono-font, monospace);
        }
        .xr-more-intel-title {
            font-size: 17px;
            font-weight: 800;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.82);
            font-family: var(--header-font, sans-serif);
            line-height: 1;
        }
        .xr-more-intel-cta {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 9px 18px;
            border-radius: 10px;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.35);
            background: rgba(var(--ui-accent-rgb), 0.08);
            color: rgba(var(--ui-accent-rgb), 0.9);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            cursor: pointer;
            font-family: var(--mono-font, monospace);
            white-space: nowrap;
            transition: background 0.2s, border-color 0.2s, color 0.2s;
            flex-shrink: 0;
        }
        .xr-more-intel-cta:hover {
            background: rgba(var(--ui-accent-rgb), 0.16);
            border-color: rgba(var(--ui-accent-rgb), 0.6);
            color: rgba(255,255,255,0.95);
        }
        .xr-more-intel-cta svg {
            opacity: 0.75;
            flex-shrink: 0;
        }
        .xr-more-intel-group-label {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.22);
            font-family: var(--mono-font, monospace);
            margin: 0 0 10px 2px;
        }
        .xr-more-intel-group {
            margin-bottom: 20px;
        }
        .xr-more-intel-group:last-child {
            margin-bottom: 0;
        }
        .xr-more-intel-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
        }
        /* Tone down cards inside More Intel — less bright, match report section feel */
        #xr-more-intel .report-card {
            background: rgba(255, 255, 255, 0.015);
        }
        #xr-more-intel .report-card::after {
            opacity: 0.35;
        }
        #xr-more-intel .report-card:hover {
            background: rgba(255, 255, 255, 0.028);
        }
        #xr-more-intel .report-card:hover::after {
            opacity: 0.7;
        }
        #xr-more-intel .report-card-company {
            font-family: var(--header-font, var(--body-font, -apple-system, BlinkMacSystemFont, sans-serif));
        }
        #xr-more-intel .report-card-date,
        #xr-more-intel .report-card-verdict {
            font-family: var(--mono-font, monospace);
        }
        #xr-more-intel .report-card-thesis {
            font-family: var(--body-font, -apple-system, BlinkMacSystemFont, sans-serif);
        }
        @media (max-width: 900px) {
            .xr-more-intel-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 600px) {
            #xr-more-intel { padding: 20px 16px 18px; }
            .xr-more-intel-grid { grid-template-columns: 1fr; }
            .xr-more-intel-cta { width: 100%; justify-content: center; }
        }

        /* ── Quick Access Strip (in-report fast navigation) ── */
        #xr-quick-access {
            margin: 0 0 2px;
            padding: 14px 20px 12px;
            background: rgba(255,255,255,0.02);
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }
        #xr-quick-access:empty {
            display: none;
            padding: 0;
            margin: 0;
            border: none;
        }
        .xr-qa-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 10px;
        }
        .xr-qa-label {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.65);
            font-family: var(--mono-font, monospace);
        }
        .xr-qa-count-badge {
            font-size: 8px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            padding: 1.5px 6px;
            border-radius: 4px;
            background: rgba(var(--ui-accent-rgb), 0.1);
            color: rgba(var(--ui-accent-rgb), 0.85);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.22);
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }
        .xr-qa-preload-label {
            font-size: 7.5px;
            font-family: var(--mono-font, monospace);
            color: rgba(255,255,255,0.28);
            letter-spacing: 0.1em;
            font-weight: 700;
        }
        .xr-qa-preload-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgba(var(--ui-accent-rgb), 0.4);
            transition: background 0.3s, box-shadow 0.3s;
        }
        .xr-qa-preload-dot.loaded {
            background: rgba(8, 209, 129, 0.8);
            box-shadow: 0 0 5px rgba(8, 209, 129, 0.6);
        }
        .xr-qa-scroll {
            display: flex;
            gap: 8px;
            overflow-x: auto;
            overflow-y: visible;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            padding: 4px 2px 6px;
        }
        .xr-qa-scroll::-webkit-scrollbar { display: none; }
        .xr-qa-chip {
            display: flex;
            align-items: center;
            gap: 9px;
            flex-shrink: 0;
            padding: 7px 12px;
            min-height: 44px;
            box-sizing: border-box;
            border-radius: 10px;
            background: rgba(255,255,255,0.035);
            border: 1px solid rgba(255,255,255,0.07);
            cursor: pointer;
            transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
            text-decoration: none;
            position: relative;
        }
        .xr-qa-chip.xr-qa-skeleton-chip {
            cursor: default;
            pointer-events: none;
            opacity: 0.65;
            animation: xr-qa-pulse 1.4s ease-in-out infinite alternate;
        }
        @keyframes xr-qa-pulse {
            0% { opacity: 0.35; }
            100% { opacity: 0.75; }
        }
        .xr-qa-chip:hover {
            background: rgba(var(--ui-accent-rgb), 0.08);
            border-color: rgba(var(--ui-accent-rgb), 0.35);
            transform: translateY(-2px);
            box-shadow: 0 4px 14px rgba(0,0,0,0.35);
        }
        .xr-qa-chip.preloaded {
            border-color: rgba(var(--ui-accent-rgb), 0.2);
            background: rgba(255,255,255,0.045);
        }

        /* Verdict Indicator Beacon */
        .xr-qa-verdict-indicator {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            flex-shrink: 0;
            position: relative;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        .xr-qa-verdict-indicator.pulse::after {
            content: '';
            position: absolute;
            top: -2px; left: -2px; right: -2px; bottom: -2px;
            border-radius: 50%;
            border: 1.5px solid currentColor;
            opacity: 0.65;
            animation: xr-qa-beacon-ping 2.2s cubic-bezier(0, 0, 0.2, 1) infinite;
        }
        @keyframes xr-qa-beacon-ping {
            0% { transform: scale(1); opacity: 0.8; }
            70%, 100% { transform: scale(2.4); opacity: 0; }
        }
        .xr-qa-chip:hover .xr-qa-verdict-indicator {
            transform: scale(1.25);
        }

        /* Identity (Company / Ticker + Date) */
        .xr-qa-chip-identity {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 1.5px;
            min-width: 0;
        }
        .xr-qa-chip-name {
            font-size: 11px;
            font-weight: 700;
            color: rgba(255,255,255,0.88);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 130px;
            letter-spacing: -0.01em;
            line-height: 1.2;
        }
        .xr-qa-chip-date {
            font-size: 8px;
            color: rgba(255,255,255,0.32);
            font-family: var(--mono-font, monospace);
            white-space: nowrap;
            line-height: 1;
        }

        /* Verdict Pill */
        .xr-qa-chip-verdict {
            font-size: 8.5px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 3px 7px;
            border-radius: 5px;
            white-space: nowrap;
            line-height: 1.2;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-family: var(--mono-font, monospace);
            flex-shrink: 0;
            backdrop-filter: blur(4px);
        }
        .xr-qa-glyph {
            font-size: 7.5px;
            line-height: 1;
        }

        /* XPS Score badge */
        .xr-qa-chip-xps {
            font-size: 8.5px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            padding: 2.5px 5.5px;
            border-radius: 4px;
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            white-space: nowrap;
            letter-spacing: 0.03em;
            color: rgba(255,255,255,0.7);
            flex-shrink: 0;
        }

        /* Micro Sparkline */
        .xr-qa-sparkline-wrap {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            padding: 0 2px;
        }
        .xr-qa-sparkline {
            display: block;
            overflow: visible;
            filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
            transition: filter 0.2s ease, transform 0.2s ease;
        }
        .xr-qa-chip:hover .xr-qa-sparkline {
            transform: scale(1.04);
            filter: drop-shadow(0 0 4px rgba(var(--ui-accent-rgb), 0.6));
        }

        /* Preload pip */
        .xr-qa-chip .xr-qa-loading-pip {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgba(var(--ui-accent-rgb), 0.35);
            flex-shrink: 0;
            transition: background 0.3s, box-shadow 0.3s;
        }
        .xr-qa-chip.preloaded .xr-qa-loading-pip {
            background: #08d181;
            box-shadow: 0 0 5px rgba(8,209,129,0.8);
        }

        @media (max-width: 600px) {
            #xr-quick-access { padding: 10px 12px 8px; }
            .xr-qa-chip { padding: 6px 9px; gap: 7px; }
            .xr-qa-chip-name { font-size: 10.5px; max-width: 95px; }
            .xr-qa-chip-date { display: none; }
            .xr-qa-chip-xps { display: none; }
            .xr-qa-sparkline { width: 36px; height: 14px; }
        }

        .dim-trio-card-header {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            width: 100%;
            box-sizing: border-box;
        }

        .dim-trio-header-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            width: 100%;
            min-width: 0;
        }

        .dim-trio-header-badge {
            display: flex;
            align-items: center;
            flex-shrink: 0;
        }

        .dim-trio-icon-box {
            width: 40px;
            height: 40px;
            border-radius: 11px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, rgba(var(--dim-c, 255, 255, 255), 0.12), rgba(var(--dim-c, 255, 255, 255), 0.05));
            border: 1px solid rgba(var(--dim-c, 255, 255, 255), 0.15);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.06),
                0 2px 8px rgba(0, 0, 0, 0.2);
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }

        .dim-trio-card:hover .dim-trio-icon-box {
            border-color: rgba(var(--dim-c, 255, 255, 255), 0.30);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.06),
                0 2px 8px rgba(0, 0, 0, 0.2),
                0 0 12px rgba(var(--dim-c, 255, 255, 255), 0.08);
        }

        .dim-trio-icon-box svg {
            width: 18px;
            height: 18px;
            stroke: rgba(var(--dim-c, 255, 255, 255), 0.80);
            fill: none;
            stroke-width: 1.6;
            stroke-linecap: round;
            stroke-linejoin: round;
            filter: drop-shadow(0 0 3px rgba(var(--dim-c, 255, 255, 255), 0.15));
        }

        .dim-trio-card-meta {
            min-width: 0;
            flex: 1;
        }

        .dim-trio-card-title {
            font-size: 15px;
            font-weight: 700;
            letter-spacing: -0.015em;
            color: rgba(255, 255, 255, 0.92);
            margin: 0;
            white-space: normal;
            line-height: 1.25;
            min-width: 0;
            flex: 1;
        }

        .dim-trio-card-explainer {
            font-size: 11px;
            color: rgba(var(--dim-c, 255, 255, 255), 0.48);
            font-weight: 500;
            letter-spacing: 0.01em;
            line-height: 1.45;
            width: 100%;
            margin: 6px 0 0 0;
            display: block;
            box-sizing: border-box;
        }

        /* Compact score badge styling for cards in multi-column grids */
        .dim-trio-card .xr-dim-score-badge {
            height: 28px;
            padding: 2px 3px 2px 8px;
        }

        .dim-trio-card .xr-dim-score-val {
            font-size: 13px;
        }

        .dim-trio-card .xr-dim-score-div {
            margin: 0 6px;
        }

        .dim-trio-card .xr-dim-score-tag {
            padding: 2px 6px;
        }

        .dim-trio-card .xr-dim-score-word {
            font-size: 9.5px;
        }

        @media screen and (max-width: 1300px) and (min-width: 701px) {
            .dim-trio-card .xr-dim-score-meter {
                display: none !important;
            }
            .dim-trio-card .xr-dim-score-denom {
                display: none !important;
            }
        }

        .score-dots-row {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .score-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            display: block;
            flex-shrink: 0;
        }

        .dim-trio-oneliner {
            font-size: 13.5px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.88);
            line-height: 1.55;
            margin-bottom: 16px;
            font-style: italic;
            padding: 14px 18px 14px 28px;
            background: linear-gradient(135deg, rgba(var(--dim-c, 255, 255, 255), 0.06), rgba(var(--dim-c, 255, 255, 255), 0.02));
            border-radius: 10px;
            border-left: 3px solid rgba(var(--dim-c, 255, 255, 255), 0.40);
            width: 100%;
            box-sizing: border-box;
            position: relative;
        }

        .dim-trio-oneliner::before {
            content: '\201C';
            position: absolute;
            top: 10px;
            left: 10px;
            font-size: 22px;
            font-weight: 900;
            font-style: normal;
            color: rgba(var(--dim-c, 255, 255, 255), 0.12);
            line-height: 1;
            pointer-events: none;
        }

        .dim-trio-body {
            font-family: var(--body-font, -apple-system, sans-serif);
            font-size: 14px;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.72);
            flex: 1;
            overflow-y: visible;
            padding-right: 0;
            max-width: 72ch;
        }

        .dim-trio-body p {
            margin: 0 0 12px 0;
        }

        .dim-trio-body p:last-child {
            margin-bottom: 0;
        }

        .dim-trio-body strong,
        .dim-trio-body b {
            color: rgba(255, 255, 255, 0.94);
            font-weight: 700;
        }

        /* Bullet list inside dim-body */
        .dim-body-list {
            margin: 8px 0 12px 0;
            padding-left: 0;
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 7px;
        }

        .dim-body-list li {
            padding-left: 18px;
            position: relative;
            font-size: 14px;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.72);
        }

        .dim-body-list li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 8px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgba(var(--dim-c, 255, 255, 255), 0.35);
            box-shadow: 0 0 6px rgba(var(--dim-c, 255, 255, 255), 0.12);
        }

        /* Sub-section headers inside dim-body (e.g. "AWS:", "Retail:") */
        .dim-body-subhead {
            font-size: 10px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.45);
            margin: 14px 0 6px 0;
            font-family: 'SF Mono', 'Menlo', monospace;
        }

        .dim-body-subhead:first-child {
            margin-top: 0;
        }

        /* Key: Value inline label */
        .dim-body-key {
            font-weight: 700;
            color: rgba(255, 255, 255, 0.75);
        }

        /* Peer Context wide card */
        .dim-trio-peer-card {
            background: #0d0d0d;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: var(--card-radius);
            padding: 24px;
            margin-top: 16px;
            position: relative;
            overflow: hidden;
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.07),
                0 2px 8px rgba(0, 0, 0, 0.45);
        }

        .dim-trio-peer-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image: var(--noise-url);
            background-size: 200px 200px;
            opacity: 0.45;
            pointer-events: none;
            mix-blend-mode: overlay;
        }

        .dim-trio-peer-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            padding-bottom: 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .dim-trio-peer-body {
            font-size: 12.5px;
            line-height: 1.8;
            color: rgba(255, 255, 255, 0.6);
            max-height: 420px;
            overflow-y: auto;
            padding-right: 6px;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.12) transparent;
        }

        .dim-trio-peer-body::-webkit-scrollbar {
            width: 4px;
        }

        .dim-trio-peer-body::-webkit-scrollbar-track {
            background: transparent;
        }

        .dim-trio-peer-body::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.12);
            border-radius: 4px;
        }

        .dim-trio-peer-body::-webkit-scrollbar-thumb:hover {
            background: rgba(255, 255, 255, 0.22);
        }

        .dim-trio-peer-body strong,
        .dim-trio-peer-body b {
            color: rgba(255, 255, 255, 0.88);
            font-weight: 600;
        }

        @media screen and (max-width: 700px) {
            .dim-trio-grid {
                grid-template-columns: 1fr;
            }

            .gf-section {
                display: none !important;
            }
        }

        @media screen and (max-width: 1200px) and (min-width: 701px) {
            .dim-trio-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        /* ── Superinvestor Avatars Section ── */
        .superinvestor-section {
            background: rgba(6, 6, 10, 0.88);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: var(--card-radius);
            padding: 28px 24px 20px;
            margin-top: 0;
            position: relative;
            overflow: hidden;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 8px 32px rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
        }

        .superinvestor-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 20px;
        }

        .superinvestor-title {
            font-size: 18px;
            font-weight: 800;
            letter-spacing: -0.02em;
            color: rgba(255, 255, 255, 0.92);
            font-family: var(--header-font);
        }

        .superinvestor-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
        }

        /* ── Per-investor accent palette (must come AFTER .avatar-card base rule) ── */
        .avatar-card {
            --avatar-accent: #b0b0b0;
            --avatar-accent-rgb: 176, 176, 176;
            /* Dark base + top-left corner lamp in accent color */
            background:
                radial-gradient(ellipse 80% 60% at 0% 0%,
                    rgba(var(--avatar-accent-rgb), 0.09) 0%,
                    transparent 65%),
                #0c0c0f;
            /* Accent glow on the left edge via inset shadow */
            box-shadow:
                inset 3px 0 0 rgba(var(--avatar-accent-rgb), 0.55),
                0 2px 16px rgba(0, 0, 0, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-left-color: rgba(var(--avatar-accent-rgb), 0.22);
            border-radius: 16px;
            padding: 0;
            overflow: hidden;
            text-align: left;
            transition:
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.3s ease,
                transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
            position: relative;
            display: flex;
            flex-direction: column;
        }

        /* Per-investor vars — declared AFTER base to win specificity race */
        .avatar-card--buffett  { --avatar-accent: #f5a623; --avatar-accent-rgb: 245, 166, 35;  }
        .avatar-card--klarman  { --avatar-accent: #5e9bff; --avatar-accent-rgb: 94, 155, 255;  }
        .avatar-card--lynch    { --avatar-accent: #08d181; --avatar-accent-rgb: 8, 209, 129;   }
        .avatar-card--wood     { --avatar-accent: #a259ff; --avatar-accent-rgb: 162, 89, 255;  }
        .avatar-card--marks    { --avatar-accent: #ffd60a; --avatar-accent-rgb: 255, 214, 10;  }
        .avatar-card--asness   { --avatar-accent: #00c7be; --avatar-accent-rgb: 0, 199, 190;   }

        .avatar-card:hover {
            box-shadow:
                inset 3px 0 0 var(--avatar-accent),
                0 16px 40px rgba(0, 0, 0, 0.55),
                0 0 0 1px rgba(var(--avatar-accent-rgb), 0.18),
                0 0 32px rgba(var(--avatar-accent-rgb), 0.08);
            border-color: rgba(var(--avatar-accent-rgb), 0.25);
        }

        .avatar-card-top {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 18px 18px 14px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        /* ── Avatar icon — static accent ring + spinning conic on hover ── */
        .avatar-icon {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            background: #1a1a1e;
            /* Constant subtle accent ring */
            box-shadow: 0 0 0 1.5px rgba(var(--avatar-accent-rgb), 0.28),
                        0 0 8px rgba(var(--avatar-accent-rgb), 0.10);
            border: none;
            overflow: visible;
            position: relative;
            transition: box-shadow 0.3s ease;
        }

        .avatar-card:hover .avatar-icon {
            box-shadow: 0 0 0 2px rgba(var(--avatar-accent-rgb), 0.5),
                        0 0 16px rgba(var(--avatar-accent-rgb), 0.2);
        }

        .avatar-icon img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
            position: relative;
            z-index: 2;
            display: block;
        }

        /* Spinning conic ring — appears on hover */
        .avatar-icon::after {
            content: '';
            position: absolute;
            inset: -5px;
            border-radius: 50%;
            background: conic-gradient(
                transparent 0deg,
                transparent 200deg,
                rgba(var(--avatar-accent-rgb), 0.7) 260deg,
                var(--avatar-accent) 300deg,
                rgba(var(--avatar-accent-rgb), 0.7) 340deg,
                transparent 360deg
            );
            animation: avatar-ring-spin 2s linear infinite;
            animation-play-state: paused;
            opacity: 0;
            transition: opacity 0.35s ease;
            z-index: 0;
        }

        .avatar-card:hover .avatar-icon::after {
            animation-play-state: running;
            opacity: 1;
        }

        /* Inner mask disc — keeps ring from overlapping photo */
        .avatar-icon::before {
            content: '';
            position: absolute;
            inset: 1px;
            border-radius: 50%;
            background: #1a1a1e;
            z-index: 1;
        }

        @keyframes avatar-ring-spin {
            to { transform: rotate(360deg); }
        }

        .avatar-card-identity {
            min-width: 0;
            flex: 1;
        }

        .avatar-name {
            font-size: 14px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.95);
            letter-spacing: -0.01em;
            margin-bottom: 2px;
        }

        .avatar-subtext {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.42);
            font-weight: 500;
            letter-spacing: 0.01em;
            line-height: 1.4;
        }

        .avatar-badge {
            display: inline-block;
            font-size: 7.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--avatar-accent);
            background: rgba(var(--avatar-accent-rgb), 0.08);
            border: 1px solid rgba(var(--avatar-accent-rgb), 0.25);
            border-radius: 6px;
            padding: 2px 7px;
            margin-top: 5px;
        }

        /* ── Avatar view: editorial blockquote treatment ── */
        .avatar-view {
            font-size: 12px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.70);
            padding: 18px 20px 18px 20px;
            flex: 1;
            position: relative;
            overflow: hidden;
        }

        /* Large watermark quote — floats behind the text, never touches the border */
        .avatar-view::before {
            content: '\201C';
            position: absolute;
            top: -10px;
            right: 12px;
            font-size: 96px;
            font-family: Georgia, 'Times New Roman', serif;
            color: var(--avatar-accent);
            opacity: 0.10;
            line-height: 1;
            pointer-events: none;
            user-select: none;
            z-index: 0;
        }

        /* Thin bottom-left accent line — purely decorative, not touching text */
        .avatar-view::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 20px;
            right: 20px;
            height: 1px;
            background: linear-gradient(90deg,
                rgba(var(--avatar-accent-rgb), 0.35),
                transparent 80%);
            pointer-events: none;
        }

        /* Ensure text renders above the watermark */
        .avatar-view > * {
            position: relative;
            z-index: 1;
        }

        .superinvestor-disclaimer {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.2);
            text-align: center;
            margin-top: 16px;
            letter-spacing: 0.03em;
            line-height: 1.5;
        }

        @media screen and (max-width: 768px) {
            .superinvestor-grid {
                grid-template-columns: 1fr;
                gap: 12px;
            }

            .superinvestor-section {
                padding: 20px 16px 16px;
            }
        }

        /* ── Analyst Forecasts Section (Refined Institutional Architecture) ── */
        .analyst-forecast-card {
            margin: 0;
            min-width: 0;
            padding: 28px 26px 24px;
            background: rgba(6, 6, 10, 0.88);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 20px;
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 32px rgba(0, 0, 0, 0.4);
            position: relative;
        }

        .analyst-forecast-header-wrap {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            flex-wrap: wrap;
        }

        .analyst-forecast-header-left {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .analyst-forecast-icon-box {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
            border: 1px solid rgba(255, 255, 255, 0.12);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--verdict-buy, #08d181);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
            flex-shrink: 0;
        }

        .analyst-forecast-title {
            font-size: 16px;
            font-weight: 800;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.92);
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
            line-height: 1.2;
        }

        .analyst-forecast-subtitle {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.45);
            font-family: var(--body-font, sans-serif);
            margin-top: 3px;
        }

        .analyst-forecast-header-stats {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .af-header-stat-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 5px 12px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 99px;
            font-size: 11px;
            transition: all 0.2s ease;
        }

        .af-stat-chip-label {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.40);
            font-family: var(--mono-font, monospace);
        }

        .af-stat-chip-val {
            font-size: 11.5px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.92);
        }

        .af-stat-mono {
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-variant-numeric: tabular-nums;
        }

        .af-stat-consensus.af-cons-strong .af-stat-chip-val {
            color: var(--verdict-strong, #307eff);
        }

        .af-stat-consensus.af-cons-buy .af-stat-chip-val {
            color: var(--verdict-buy, #08d181);
        }

        .af-stat-consensus.af-cons-hold .af-stat-chip-val {
            color: #e8c84a;
        }

        .af-stat-consensus.af-cons-sell .af-stat-chip-val {
            color: var(--verdict-short, #ff453a);
        }

        .af-stat-pos .af-stat-chip-val {
            color: var(--verdict-buy, #08d181);
        }

        .af-stat-neg .af-stat-chip-val {
            color: var(--verdict-short, #ff453a);
        }

        /* ── Table Container & Layout ── */
        .af-table-wrapper {
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.015);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        .analyst-forecast-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            min-width: 580px;
        }

        .analyst-forecast-table th {
            font-size: 9.5px;
            font-weight: 750;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            padding: 12px 16px;
            background: rgba(255, 255, 255, 0.025);
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            font-family: var(--mono-font, monospace);
            white-space: nowrap;
        }

        .analyst-forecast-table th.af-th-firm {
            text-align: left;
            padding-left: 20px;
        }

        .analyst-forecast-table th.af-th-rating {
            text-align: center;
        }

        .analyst-forecast-table th.af-th-pt {
            text-align: right;
        }

        .analyst-forecast-table th.af-th-upside {
            text-align: right;
            padding-right: 20px;
        }

        .analyst-forecast-table tbody tr {
            transition: background 0.15s ease;
        }

        .analyst-forecast-table tbody tr:hover td {
            background: rgba(255, 255, 255, 0.035);
        }

        .analyst-forecast-table tbody tr:hover .af-firm-emblem {
            border-color: rgba(255, 255, 255, 0.22);
            color: #fff;
            background: rgba(255, 255, 255, 0.10);
        }

        .analyst-forecast-table tbody tr:hover .af-firm-name {
            color: #fff;
        }

        .analyst-forecast-table td {
            font-size: 13.5px;
            padding: 13px 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.82);
            vertical-align: middle;
        }

        .analyst-forecast-table tbody tr:last-child td {
            border-bottom: none;
        }

        .analyst-forecast-table td.af-td-firm {
            padding-left: 20px;
            text-align: left;
        }

        .analyst-forecast-table td.af-td-rating {
            text-align: center;
        }

        .analyst-forecast-table td.af-td-pt {
            text-align: right;
        }

        .analyst-forecast-table td.af-td-upside {
            text-align: right;
            padding-right: 20px;
        }

        /* ── Firm Emblem & Typography ── */
        .af-firm-inner {
            display: inline-flex;
            align-items: center;
            gap: 12px;
        }

        .af-firm-emblem {
            width: 26px;
            height: 26px;
            border-radius: 7px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 9px;
            font-weight: 800;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.65);
            letter-spacing: 0.02em;
            flex-shrink: 0;
            transition: all 0.15s ease;
        }

        .af-firm-name {
            font-weight: 650;
            color: rgba(255, 255, 255, 0.90);
            letter-spacing: -0.01em;
            transition: color 0.15s ease;
        }

        /* ── Rating Badges (Fixed Semantic Palette) ── */
        .af-rating {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            padding: 4px 11px;
            border-radius: 99px;
            white-space: nowrap;
            line-height: 1;
        }

        /* STRONG BUY: Royal Blue */
        .af-rating-strong-buy {
            background: rgba(48, 126, 255, 0.14);
            color: var(--verdict-strong, #307eff);
            border: 1px solid rgba(48, 126, 255, 0.38);
            box-shadow: 0 0 10px rgba(48, 126, 255, 0.18);
        }

        /* BUY: Emerald Green */
        .af-rating-buy {
            background: rgba(8, 209, 129, 0.12);
            color: var(--verdict-buy, #08d181);
            border: 1px solid rgba(8, 209, 129, 0.35);
            box-shadow: 0 0 8px rgba(8, 209, 129, 0.12);
        }

        /* HOLD / NEUTRAL: Amber/Gold */
        .af-rating-hold {
            background: rgba(232, 200, 74, 0.12);
            color: #e8c84a;
            border: 1px solid rgba(232, 200, 74, 0.35);
        }

        /* SELL / UNDERPERFORM: Crimson Red */
        .af-rating-sell {
            background: rgba(255, 69, 58, 0.14);
            color: var(--verdict-short, #ff453a);
            border: 1px solid rgba(255, 69, 58, 0.35);
        }

        .af-rating-other {
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.55);
            border: 1px solid rgba(255, 255, 255, 0.12);
        }

        /* ── Price Target Cell ── */
        .af-price-target {
            font-size: 13.5px;
            font-weight: 750;
            color: rgba(255, 255, 255, 0.92);
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
            letter-spacing: -0.01em;
        }

        /* ── Upside Badges (Fixed Semantic Palette) ── */
        .af-upside-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 11.5px;
            font-weight: 750;
            font-family: var(--mono-font, 'SF Mono', monospace);
            font-variant-numeric: tabular-nums;
            letter-spacing: 0.02em;
            padding: 3px 9px;
            border-radius: 99px;
            white-space: nowrap;
        }

        .af-upside-badge .af-dir-arrow {
            font-size: 10px;
            font-weight: 900;
        }

        /* Positive Upside: Green */
        .af-upside-pos {
            background: rgba(8, 209, 129, 0.12);
            color: var(--verdict-buy, #08d181);
            border: 1px solid rgba(8, 209, 129, 0.32);
            box-shadow: 0 0 8px rgba(8, 209, 129, 0.10);
        }

        /* Negative Downside: Red */
        .af-upside-neg {
            background: rgba(255, 69, 58, 0.12);
            color: var(--verdict-short, #ff453a);
            border: 1px solid rgba(255, 69, 58, 0.30);
            box-shadow: 0 0 8px rgba(255, 69, 58, 0.10);
        }

        .af-upside-neutral {
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.40);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .af-disclaimer-wrap {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: 16px;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.32);
            letter-spacing: 0.02em;
            line-height: 1.5;
        }

        /* ── Analyst Forecasts + Profit & Cash Velocity side-by-side row ── */
        .af-flow-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin-top: 24px;
            align-items: start;
        }

        .af-flow-row .analyst-forecast-card,
        .af-flow-row .analyst-forecast-section {
            margin-top: 0;
            height: 100%;
        }

        .af-flow-row .financial-flow-section {
            margin-bottom: 0;
        }

        @media (max-width: 900px) {
            .af-flow-row {
                grid-template-columns: 1fr;
            }
        }

        /* ── AI Report Disclaimer ── */
        .report-ai-disclaimer {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            background: rgba(232, 200, 74, 0.04);
            border: 1px solid rgba(232, 200, 74, 0.14);
            border-radius: 10px;
            padding: 10px 14px;
            margin-top: 4px;
            margin-bottom: 18px;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.35);
            line-height: 1.55;
            letter-spacing: 0.01em;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .report-ai-disclaimer svg {
            flex-shrink: 0;
            margin-top: 1px;
            opacity: 0.45;
        }

        .report-ai-disclaimer strong {
            color: rgba(255, 255, 255, 0.5);
            font-weight: 700;
        }

        @media (max-width: 480px) {
            .analyst-forecast-section {
                padding: 16px 14px;
            }

            .analyst-forecast-table td,
            .analyst-forecast-table th {
                padding-right: 8px;
            }
        }

        .credibility-section {
            margin-top: 48px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 20px;
            width: 100%;
            max-width: 960px;
        }

        /* ── FAQ Section ── */
        .faq-section {
            margin-top: 56px;
            width: 100%;
            max-width: 960px;
        }

        body.results-visible .faq-section {
            display: none;
        }

        .faq-header {
            text-align: center;
            margin-bottom: 10px;
        }

        .faq-header-eyebrow {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.7);
            margin-bottom: 10px;
        }

        .faq-header-title {
            font-size: 22px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.9);
            letter-spacing: -0.01em;
        }

        .faq-header-sub {
            margin-top: 8px;
            font-size: 13px;
            color: rgba(255, 255, 255, 0.38);
            line-height: 1.6;
            max-width: 560px;
            margin-left: auto;
            margin-right: auto;
        }

        .faq-list {
            margin-top: 28px;
            display: flex;
            flex-direction: column;
            gap: 0;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px;
            overflow: hidden;
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            box-shadow: var(--card-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        .faq-item {
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            background: rgba(255, 255, 255, 0.015);
            transition: background 0.2s;
        }

        .faq-item:last-child {
            border-bottom: none;
        }

        .faq-item.open {
            background: rgba(var(--ui-accent-rgb), 0.04);
        }

        .faq-q {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px 24px;
            cursor: pointer;
            gap: 16px;
            user-select: none;
            -webkit-user-select: none;
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.05);
            margin-bottom: 8px;
            border-radius: 12px;
        }

        .faq-q-text {
            font-size: 14px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.82);
            line-height: 1.4;
        }

        .faq-q-icon {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.14);
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, 0.35);
            font-size: 14px;
            line-height: 1;
            transition: transform 0.25s, border-color 0.2s, color 0.2s;
        }

        .faq-item.open .faq-q-icon {
            transform: rotate(45deg);
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            color: rgba(var(--ui-accent-rgb), 0.8);
        }

        .faq-a {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease, padding 0.25s ease;
            padding: 0 24px;
            box-sizing: border-box;
        }

        .faq-a-inner {
            padding-bottom: 18px;
            font-size: 13px;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.5);
        }

        .faq-item.open .faq-a {
            max-height: 400px;
        }

        /* Hover-tooltip for key terms */
        .faq-term {
            border-bottom: 1px dashed rgba(var(--ui-accent-rgb), 0.45);
            cursor: help;
            color: rgba(255, 255, 255, 0.7);
            position: relative;
        }

        .faq-term::after {
            content: attr(data-tip);
            position: absolute;
            bottom: calc(100% + 8px);
            left: 50%;
            transform: translateX(-50%);
            background: rgba(10, 10, 18, 0.97);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.25);
            border-radius: 8px;
            padding: 8px 12px;
            font-size: 11.5px;
            font-weight: 400;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.72);
            white-space: normal;
            width: 240px;
            text-align: left;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.18s;
            z-index: 9999;
        }

        .faq-term:hover::after {
            opacity: 1;
        }

        .portfolio-showcase-section {
            margin-top: 48px;
            width: 100%;
            max-width: 960px;
            background: rgba(var(--ui-accent-rgb), 0.01);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.14);
            border-radius: 24px;
            padding: 48px;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            position: relative;
            overflow: hidden;
        }

        .portfolio-showcase-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(var(--ui-accent-rgb), 0.4), transparent);
        }

        .recent-reports-showcase {
            margin-top: 0px;
            width: 100%;
            max-width: 960px;
            background: rgba(var(--ui-accent-rgb), 0.01);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.14);
            border-radius: 24px;
            padding: 32px 36px;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            margin-bottom: 0px;
            position: relative;
            overflow: hidden;
        }

        .recent-reports-showcase::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(var(--ui-accent-rgb), 0.4), transparent);
        }

        .rr-search-wrap {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 14px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 10px;
            padding: 7px 12px;
            transition: border-color 0.2s;
        }

        .rr-search-wrap:focus-within {
            border-color: rgba(var(--ui-accent-rgb), 0.5);
        }

        .rr-search-wrap svg {
            flex-shrink: 0;
            opacity: 0.35;
        }

        .rr-search-input {
            flex: 1;
            background: none;
            border: none;
            outline: none;
            color: rgba(255, 255, 255, 0.85);
            font-size: 13px;
            font-family: inherit;
            min-width: 0;
        }

        .rr-search-input::placeholder {
            color: rgba(255, 255, 255, 0.28);
        }

        .rr-search-clear {
            background: none;
            border: none;
            cursor: pointer;
            color: rgba(255, 255, 255, 0.3);
            font-size: 16px;
            line-height: 1;
            padding: 0 2px;
            display: none;
        }

        .rr-search-clear.visible {
            display: block;
        }

        .rr-no-results {
            text-align: center;
            padding: 24px;
            color: rgba(255, 255, 255, 0.28);
            font-size: 13px;
        }

        .recent-reports-table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0 4px;
            margin-top: 6px;
            table-layout: auto;
        }

        .recent-reports-table th,
        .recent-reports-table td {
            text-align: left;
            padding: 8px 12px;
        }

        .recent-reports-table th:nth-child(1),
        .recent-reports-table td:nth-child(1) {
            width: 30%;
        }

        .recent-reports-table th:nth-child(2),
        .recent-reports-table td:nth-child(2) {
            width: 20%;
            white-space: nowrap;
        }

        .recent-reports-table th:nth-child(3),
        .recent-reports-table td:nth-child(3) {
            width: auto;
        }

        .recent-reports-table th:nth-child(4),
        .recent-reports-table td:nth-child(4) {
            width: 1%;
            white-space: nowrap;
            text-align: right;
        }

        .recent-reports-table th {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
        }

        .recent-reports-table td {
            background: rgba(255, 255, 255, 0.03);
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        .recent-reports-table tr td:first-child {
            border-left: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px 0 0 12px;
        }

        .recent-reports-table tr td:last-child {
            border-right: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 0 12px 12px 0;
            text-align: right;
        }

        .report-company {
            font-weight: 600;
            color: #d3dddd;
            font-size: 13px;
            text-align: left;
        }

        .report-date {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.4);
            margin-top: 2px;
            text-align: left;
        }

        .view-report-link {
            color: rgba(var(--ui-accent-rgb), 0.85);
            text-decoration: none;
            font-size: 13px;
            font-weight: 600;
            transition: opacity 0.2s, color 0.2s;
        }

        .view-report-link:hover {
            opacity: 1;
            color: var(--ui-accent);
        }

        .recent-reports-table tbody tr:hover td {
            background: rgba(255, 255, 255, 0.055);
        }

        @media screen and (max-width: 768px) {
            .recent-reports-showcase {
                padding: 24px 16px;
                overflow-x: hidden;
            }

            .recent-reports-table {
                display: block;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                width: 100%;
            }

            .recent-reports-table th:nth-child(3),
            .recent-reports-table td:nth-child(3) {
                display: none;
            }

            .recent-reports-table td {
                padding: 12px 10px;
                font-size: 12px;
                word-break: break-word;
            }

            .recent-reports-table th {
                font-size: 9px;
            }

            .report-company {
                font-size: 13px;
            }

            /* Make attribution banners smaller on mobile */
            .attribution-container {
                gap: 4px !important;
                margin-top: 8px !important;
                margin-bottom: 16px !important;
            }

            .attribution-tag {
                font-size: 9px !important;
                padding: 2px 6px !important;
                gap: 4px !important;
            }

            .attribution-tag img {
                height: 10px !important;
            }

            .attribution-tag span {
                font-size: 9px !important;
            }

            /* Ensure all tables are properly handled on mobile */
            table {
                display: block;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                max-width: 100%;
            }
        }

        .portfolio-showcase-title {
            font-family: 'Inter', -apple-system, sans-serif;
            font-size: 24px;
            font-weight: 800;
            letter-spacing: -0.028em;
            margin-bottom: 24px;
            text-align: center;
            background: linear-gradient(160deg, #ffffff 0%, rgba(190, 190, 200, 0.65) 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .portfolio-showcase-content {
            max-width: 760px;
            margin: 0 auto;
        }

        .portfolio-showcase-text {
            font-size: 13px;
            line-height: 1.7;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 20px;
            text-align: justify;
        }

        .portfolio-showcase-text:last-of-type {
            margin-bottom: 16px;
        }

        /* ── Front page Latest Buys badges ── */
        #front-buys-wrap {
            margin: 20px 0 28px;
        }

        #front-buys-label {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(var(--verdict-strong-rgb), 1);
            margin-bottom: 15px;
        }

        #front-buys-label::before {
            content: '';
            display: inline-block;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--verdict-strong);
            box-shadow: 0 0 7px rgba(var(--verdict-strong-rgb), 0.75);
            animation: rr-buys-pulse 2s ease-in-out infinite;
        }

        /* ── Front page Latest Buys grid ── */
        #front-buys {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin: 15px 0 24px;
        }

        @media (max-width: 1100px) {
            #front-buys {
                grid-template-columns: repeat(2, 1fr);
                gap: 16px;
            }
        }
        @media (max-width: 700px) {
            #front-buys {
                grid-template-columns: 1fr;
                gap: 16px;
            }
        }

        .front-buy-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 10px 5px 9px;
            background: rgba(var(--verdict-strong-rgb), 0.07);
            border: 1px solid rgba(var(--verdict-strong-rgb), 0.20);
            border-radius: 8px;
            text-decoration: none;
            cursor: pointer;
            transition: background 0.15s, border-color 0.15s, transform 0.15s;
        }

        .front-buy-badge:hover {
            background: rgba(var(--verdict-strong-rgb), 0.13);
            border-color: rgba(var(--verdict-strong-rgb), 0.42);
            transform: translateY(-1px);
        }

        .front-buy-badge-ticker {
            font-size: 12px;
            font-weight: 800;
            color: var(--verdict-strong);
            font-family: 'Inter', var(--header-font, 'SF Pro Display'), system-ui, sans-serif;
            letter-spacing: 0.02em;
            white-space: nowrap;
        }

        .front-buy-badge-sector {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.42);
            max-width: 90px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .front-buy-badge-date {
            font-size: 8px;
            color: rgba(var(--verdict-strong-rgb), 0.35);
            font-family: var(--mono-font, monospace);
            white-space: nowrap;
        }

        .portfolio-showcase-text strong {
            color: var(--text-main);
            font-weight: 600;
        }

        .portfolio-showcase-cta {
            text-align: center;
            margin-top: 32px;
        }

        .portfolio-cta-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.8);
            padding: 8px 32px;
            border-radius: 30px;
            font-size: 10px;
            font-weight: 700;
            text-decoration: none;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            backdrop-filter: blur(10px);
        }

        .portfolio-cta-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.14);
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            color: #ffffff;
            transform: translateY(-2px);
            box-shadow: 0 0 0 1px rgba(var(--ui-accent-rgb), 0.15), 0 8px 24px rgba(var(--ui-accent-rgb), 0.15);
        }

        .portfolio-cta-btn svg {
            opacity: 0.9;
        }

        @media (max-width: 768px) {
            .portfolio-showcase-section {
                padding: 32px 24px;
            }

            .portfolio-showcase-title {
                font-size: 22px;
            }

            .portfolio-showcase-text {
                font-size: 14px;
            }

            .portfolio-cta-btn {
                font-size: 14px;
                padding: 14px 24px;
            }
        }

        /* ── Intelligence Newsletter showcase ── */
        .newsletter-showcase-section {
            margin-top: 20px;
            width: 100%;
            max-width: 960px;
            background: rgba(var(--ui-accent-rgb), 0.01);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.14);
            border-radius: 24px;
            padding: 48px;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            position: relative;
            overflow: hidden;
        }

        .newsletter-showcase-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(var(--ui-accent-rgb), 0.4), transparent);
        }

        .newsletter-showcase-eyebrow {
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.85);
            text-align: center;
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .newsletter-showcase-eyebrow::before,
        .newsletter-showcase-eyebrow::after {
            content: '';
            display: inline-block;
            width: 28px;
            height: 1px;
            background: rgba(var(--ui-accent-rgb), 0.5);
        }

        .newsletter-showcase-title {
            font-family: 'Inter', -apple-system, sans-serif;
            font-size: 24px;
            font-weight: 800;
            letter-spacing: -0.028em;
            margin-bottom: 24px;
            text-align: center;
            background: linear-gradient(160deg, #ffffff 0%, rgba(190, 190, 200, 0.65) 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .newsletter-feature-row {
            display: flex;
            gap: 12px;
            justify-content: center;
            flex-wrap: wrap;
            margin: 24px 0;
        }

        .newsletter-feature-chip {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 5px 12px;
            background: rgba(var(--ui-accent-rgb), 0.01);
            border: 1px solid rgb(182 182 182 / 18%);
            border-radius: 20px;
            font-size: 10px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.6);
            letter-spacing: 0.01em;
        }

        .newsletter-feature-chip span.chip-icon {
            font-size: 14px;
        }

        @media (max-width: 768px) {
            .newsletter-showcase-section {
                padding: 32px 24px;
            }

            .newsletter-showcase-title {
                font-size: 22px;
            }
        }

        .footer-note {
            margin: 16px auto 0;
            padding-bottom: 20px;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.18);
            text-align: center;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            position: relative;
            z-index: 100;
            font-weight: 500;
        }

        .footer-contact-row {
            display: flex;
            justify-content: center;
            margin-top: 18px;
            margin-bottom: 0px;
            padding-bottom: 36px;
            /* Clear the fixed 28px ticker tape at bottom */
            position: relative;
            z-index: 200;
        }

        .footer-contact-link {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 9px 22px;
            border-radius: 999px;
            background: rgba(var(--ui-accent-rgb), 0.10);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.35);
            color: rgba(var(--ui-accent-rgb), 0.85);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-decoration: none;
            font-family: inherit;
            transition: background 0.2s, border-color 0.2s, color 0.2s;
        }

        .footer-contact-link:hover {
            background: rgba(var(--ui-accent-rgb), 0.20);
            border-color: rgba(var(--ui-accent-rgb), 0.60);
            color: #fff;
        }


        .admin-lookup {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 6px;
            margin: -10px auto 40px;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.35);
            flex-wrap: wrap;
            /* Mobile fix */
            position: relative;
            z-index: 100;
        }

        .admin-lookup input {
            width: 130px;
            padding: 7px 12px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.03);
            color: rgba(255, 255, 255, 0.6);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            outline: none;
            transition: all 0.2s ease;
        }

        .admin-lookup input:focus {
            border-color: rgba(255, 255, 255, 0.2);
            background: rgba(255, 255, 255, 0.05);
        }

        .admin-lookup button,
        .recent-reports-btn {
            padding: 7px 14px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.03);
            color: rgba(255, 255, 255, 0.4);
            font-size: 9px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.25s ease;
            font-family: inherit;
            font-weight: 600;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        .admin-lookup button:hover,
        .recent-reports-btn:hover {
            color: rgba(255, 255, 255, 0.9);
            border-color: rgba(255, 255, 255, 0.2);
            background: rgba(255, 255, 255, 0.08);
        }

        .testi-item {
            padding: 24px 28px;
            border-radius: 18px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            text-align: left;
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
            border-left: 2px solid var(--ui-accent);
            transition: border-color 0.3s ease, background 0.3s ease;
        }

        .testi-item:hover {
            background: rgba(255, 255, 255, 0.03);
            border-left-color: var(--ui-accent);
        }

        /* Removed hover effects as requested */
        .testi-company {
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.35);
            margin-bottom: 10px;
            text-transform: uppercase;
            letter-spacing: 0.12em;
        }

        .testi-quote {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.65);
            line-height: 1.65;
            font-style: italic;
        }



        /* --- SIDE NAVIGATION --- */
        #side-nav {
            position: fixed;
            left: 30px;
            top: 50%;
            transform: translateY(-50%);
            display: none;
            flex-direction: column;
            gap: 12px;
            z-index: 1000;
            padding: 16px 8px;
            background: rgba(22, 22, 23, 0.6);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 30px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
            animation: slideInLeft 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .report-nav-column {
            grid-column: 1;
            display: none;
            justify-content: flex-end;
            padding-right: 40px;
        }

        .report-right-balance {
            grid-column: 3;
            display: none;
        }

        .report-nav {
            position: fixed;
            left: max(16px, calc(50% - 800px));
            top: 50%;
            transform: translateY(-50%);
            display: none;
            flex-direction: column;
            gap: 2.5px;
            z-index: 100005;
            /* Above everything */
            padding: 10px 10px;
            margin-right: 20px;
            background: rgba(10, 14, 24, 0.78);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
            max-height: calc(100vh - 48px);
            overflow-y: auto;
            overflow-x: hidden;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.16) transparent;
        }

        .report-nav::-webkit-scrollbar {
            width: 3px;
        }

        .report-nav::-webkit-scrollbar-track {
            background: transparent;
        }

        .report-nav::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.16);
            border-radius: 3px;
        }

        .report-nav::-webkit-scrollbar-thumb:hover {
            background: var(--ui-accent, #38bdf8);
        }

        .report-nav-item {
            font-size: 8.5px;
            text-transform: uppercase;
            letter-spacing: 0.09em;
            color: rgba(255, 255, 255, 0.34);
            font-weight: 600;
            cursor: pointer;
            transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
            padding: 3.5px 6px;
            border-radius: 5px;
            white-space: nowrap;
            user-select: none;
        }

        .report-nav-item:hover {
            color: rgba(255, 255, 255, 0.88);
            background: rgba(255, 255, 255, 0.06);
            transform: none;
        }

        .report-nav-item.active {
            color: rgba(255, 255, 255, 0.95);
            background: rgba(255, 255, 255, 0.09);
            transform: none;
        }

        /* ── Side Navigation External Research Section ── */
        .report-nav-divider-section {
            display: flex;
            align-items: center;
            gap: 6px;
            margin: 8px 2px 4px 2px;
            padding: 4px 0 2px 0;
            user-select: none;
        }

        .report-nav-divider-line {
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06));
        }

        .report-nav-divider-tag {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 7.5px;
            font-weight: 750;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.42);
            font-family: var(--mono-font, 'JetBrains Mono', 'SF Mono', monospace);
            padding: 2px 5px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 4px;
            white-space: nowrap;
        }

        .report-nav-ext-group {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .report-nav-ext-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
            padding: 3.5px 6px;
            border-radius: 5px;
            font-size: 8.5px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.42);
            text-decoration: none;
            transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .report-nav-ext-left {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            min-width: 0;
        }

        .report-nav-ext-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: rgba(255, 255, 255, 0.35);
            transition: color 0.18s ease;
            flex-shrink: 0;
        }

        .report-nav-ext-name {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .report-nav-ext-arrow {
            opacity: 0.45;
            transition: transform 0.18s ease, opacity 0.18s ease, color 0.18s ease;
            flex-shrink: 0;
            margin-left: 6px;
        }

        .report-nav-ext-link:hover {
            color: rgba(255, 255, 255, 0.95);
            background: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.10);
            box-shadow: 0 0 0 1px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.25);
            transform: none;
        }

        .report-nav-ext-link:hover .report-nav-ext-icon {
            color: var(--ui-accent, #38bdf8);
        }

        .report-nav-ext-link:hover .report-nav-ext-arrow {
            opacity: 1;
            color: var(--ui-accent, #38bdf8);
            transform: translate(1.5px, -1.5px);
        }

        @media screen and (min-width: 1450px) {

            .report-nav-column,
            .report-right-balance {
                display: flex;
            }

            .report-nav,
            #report-nav-fixed .report-nav {
                display: flex;
            }
        }

        /* Recent Reports Table (Refined to match Reports.html) */
        /* Recent Reports Card-Grid Redesign */
        /* ── Institutional Logo Strip ── */
        .logo-strip-wrap {
            width: 100%;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.02);
            padding: 24px 0;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            margin: 40px 0 60px;
            position: relative;
        }

        .logo-strip-title {
            text-align: center;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.25);
            margin-bottom: 20px;
        }

        .logo-strip-track {
            display: flex;
            width: calc(300px * 14);
            animation: logoScroll 40s linear infinite;
            align-items: center;
        }

        @keyframes logoScroll {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(calc(-300px * 7));
            }
        }

        .logo-item {
            width: 300px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 15px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.15);
            letter-spacing: -0.01em;
            text-transform: none;
            filter: grayscale(1);
            transition: color 0.3s;
            white-space: nowrap;
        }

        .logo-item:hover {
            color: rgba(255, 255, 255, 0.4);
        }

        .recent-reports-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin: 5px 0 5px;
        }
        @media (max-width: 1100px) {
            .recent-reports-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 700px) {
            .recent-reports-grid { grid-template-columns: 1fr; }
        }

        .report-card {
            background: rgba(255, 255, 255, 0.02);
            border: none;
            border-radius: 18px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            text-decoration: none;
            color: #fff;
            cursor: pointer;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            box-sizing: border-box;
        }

        /* Gradient border via ::after — drawn behind card content */
        /* Uses --rc-grad-angle (registered @property) so CSS can interpolate the angle on hover */
        .report-card::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            padding: 1px;
            --rc-grad-angle: 135deg;
            background: linear-gradient(var(--rc-grad-angle),
                rgba(var(--verdict-color-rgb, 255,255,255), 0.35),
                rgba(var(--verdict-color-rgb, 255,255,255), 0.07) 40%,
                rgba(var(--verdict-color-rgb, 255,255,255), 0.25));
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            mask-composite: exclude;
            opacity: 0.5;
            pointer-events: none;
            transition: opacity 0.4s, --rc-grad-angle 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            z-index: 0;
        }

        .report-card:hover::after {
            --rc-grad-angle: 45deg;
            opacity: 1;
        }

        /* Pulse animation for freshly-loaded cards */
        .report-card.card-fresh::after {
            animation: gradPulse 1.5s ease-out 1 forwards;
        }

        .report-card-header {
            display: flex;
            flex-direction: column;
            gap: 8px;
            width: 100%;
            min-width: 0;
            overflow: hidden;
        }

        .report-card-left {
            min-width: 0;
            overflow: hidden;
        }

        .report-card-meta-row {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 10px;
            min-width: 0;
            overflow: hidden;
        }

        .report-card-meta-left {
            display: flex;
            flex-direction: column;
            gap: 3px;
            min-width: 0;
            flex-shrink: 1;
        }

        .report-card-right {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 4px;
            flex-shrink: 1;
            min-width: 0;
            max-width: 55%;
        }

        .report-card:hover {
            background: rgba(255, 255, 255, 0.035);
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
        }

        /* Ambient Glow on Hover */
        .report-card::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at top right, rgba(var(--verdict-color-rgb), 0.12), transparent 70%);
            opacity: 0;
            transition: opacity 0.4s;
            pointer-events: none;
        }

        .report-card:hover::before {
            opacity: 1;
        }

        .report-card-company {
            font-size: 15px;
            font-weight: 850;
            color: #fff;
            letter-spacing: -0.02em;
            line-height: 1.2;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
            min-height: 1.2em;
        }

        .report-card-ticker {
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.28);
            margin-top: 1px;
            display: block;
        }

        .report-card-date {
            font-size: 10px;
            font-weight: 600;
            text-transform: capitalize;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.3);
            margin-top: 0;
            white-space: nowrap;
        }

        .report-card-country {
            font-size: 9.5px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.45);
            display: flex;
            align-items: center;
            gap: 3px;
            white-space: nowrap;
        }

        .report-card-flag {
            font-size: 20px;
            line-height: 1;
            opacity: 0.99;
        }

        .report-card-verdict {
            font-size: 10px;
            font-weight: 900;
            padding: 4px 10px;
            border-radius: 99px;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            background: rgba(255, 255, 255, 0.05);
            white-space: nowrap;
            line-height: 1.3;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .report-card-sector {
            font-size: 8px;
            font-weight: 500;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            padding: 3px 6px;
            border-radius: 15px;
            background: rgba(255, 255, 255, 0.022);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.32);
            white-space: nowrap;
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
        }

        .report-card-thesis {
            font-size: 12px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.42);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-top: 0;
        }

        /* ── Card insight section (overview + investment verdict) ── */
        .report-card-insight {
            display: flex;
            flex-direction: column;
            gap: 4px;
            padding: 6px 0 2px;
            border-top: 1px solid rgba(255, 255, 255, 0.04);
        }
        .report-card-insight-row {
            display: flex;
            align-items: flex-start;
            gap: 5px;
            min-width: 0;
        }
        .report-card-insight-icon {
            flex-shrink: 0;
            color: rgba(255, 255, 255, 0.25);
            margin-top: 1px;
            line-height: 1;
        }
        .report-card-insight-text {
            font-size: 12px;
            line-height: 1.45;
            color: rgba(255, 255, 255, 0.38);
            font-family: var(--body-font, -apple-system, BlinkMacSystemFont, sans-serif);
            font-weight: 450;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
        .report-card-insight-verdict .report-card-insight-text {
            -webkit-line-clamp: 3;
            line-clamp: 3;
        }

        /* Micro-sparkline fingerprint */
        .report-card-sparkline {
            display: block;
            width: 100%;
            height: 32px;
            overflow: visible;
        }

        .report-card-sparkline-wrap {
            border-top: 1px solid rgba(255, 255, 255, 0.04);
            padding-top: 12px;
            margin-top: auto;
        }

        .report-card-sparkline-labels {
            display: flex;
            justify-content: space-between;
            margin-top: 5px;
        }

        .report-card-sparkline-label {
            font-size: 7.5px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: rgba(255, 255, 255, 0.18);
            white-space: nowrap;
        }

        /* Score bar row */
        .report-card-score-row {
            display: flex;
            flex-direction: column;
            gap: 5px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            padding-top: 12px;
        }

        .report-card-score-bar-item {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .report-card-score-bar-label {
            font-size: 9.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.28);
            white-space: nowrap;
            width: 68px;
            flex-shrink: 0;
        }

        .report-card-score-bar-track {
            flex: 1;
            height: 6px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            overflow: hidden;
            min-width: 50px;
        }

        .report-card-score-bar-fill {
            height: 100%;
            border-radius: 4px;
            /* Width is driven by --rr-bar-w CSS var + keyframe animation on first render */
            width: var(--rr-bar-w, 0%);
            animation: rrBarFill 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
            /* Default background — overridden by data-score attribute rules below */
            background: var(--grad-score-3);
        }

        /* Gradient fills matching the results-page score color system */
        .report-card-score-bar-fill[data-score="1"] { background: var(--grad-score-1); }
        .report-card-score-bar-fill[data-score="2"] { background: var(--grad-score-2); }
        .report-card-score-bar-fill[data-score="3"] { background: var(--grad-score-3); }
        .report-card-score-bar-fill[data-score="4"] { background: var(--grad-score-4); }
        .report-card-score-bar-fill[data-score="5"] { background: var(--grad-score-5); }

        @keyframes rrBarFill {
            from {
                width: 0%;
            }

            to {
                width: var(--rr-bar-w, 0%);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .report-card-score-bar-fill {
                animation: none;
                width: var(--rr-bar-w, 0%);
            }
        }

        .report-card-score-bar-num {
            font-size: 12px;
            font-weight: 800;
            font-family: 'Inter';
            width: 20px;
            text-align: right;
            flex-shrink: 0;
        }

        /* XPS composite strip at the bottom */
        .report-card-xps {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.04);
        }

        .report-card-xps-label {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--verdict-color, rgba(255, 255, 255, 0.55));
            background: rgba(var(--verdict-color-rgb, 255, 255, 255), 0.07);
            border: 1px solid rgba(var(--verdict-color-rgb, 255, 255, 255), 0.22);
            border-radius: 6px;
            padding: 2px 7px;
            white-space: nowrap;
            font-family: var(--mono-font, monospace);
            cursor: default;
        }

        .report-card-xps-segs {
            display: flex;
            gap: 3px;
            align-items: center;
        }

        .report-card-xps-seg {
            width: 18px;
            height: 4px;
            border-radius: 2px;
            background: rgba(255, 255, 255, 0.07);
        }

        .report-card-xps-seg.filled {
            background: var(--verdict-color, rgba(255, 255, 255, 0.4));
            opacity: 0.75;
        }

        .report-card-xps-seg.filled.last {
            opacity: 1;
        }

        @keyframes xpsSegIn {
            from { opacity: 0; transform: scaleX(0.3); }
            to   { opacity: 1; transform: scaleX(1); }
        }

        /* filled (non-last) segments use slightly lower opacity after animation */
        .report-card-xps-seg.filled:not(.last) {
            animation: xpsSegIn 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
            transform-origin: left center;
            opacity: 0.75;
        }

        @media (prefers-reduced-motion: reduce) {
            .report-card-xps-seg.filled {
                animation: none !important;
                opacity: 0.75;
            }
            .report-card-xps-seg.filled.last {
                opacity: 1;
            }
        }

        .report-card-xps-val {
            font-size: 13px;
            font-weight: 800;
            font-family: var(--mono-font);
            color: var(--verdict-color, rgba(255, 255, 255, 0.6));
        }

        /* ── Card action buttons — balanced flex layout so New Tab is never clipped ── */
        .report-card-actions-row {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-top: auto;
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
        }

        .report-card-action-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            padding: 6px 9px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 9px;
            font-weight: 700;
            font-size: 10.5px;
            letter-spacing: 0.02em;
            color: rgba(255, 255, 255, 0.60);
            transition: background 0.25s, color 0.25s, border-color 0.25s;
            white-space: nowrap;
            cursor: pointer;
            text-decoration: none;
            box-sizing: border-box;
        }

        .report-card-action-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.90);
        }

        /* Primary action (View Intelligence) fills remaining space gracefully */
        .report-card-action-btn.primary {
            flex: 1 1 auto;
            min-width: 0;
            gap: 6px;
        }

        .report-card-action-btn.primary span {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .report-card-action-btn.primary svg {
            flex-shrink: 0;
        }

        /* Secondary action (New Tab) sized exactly to fit content without being shrunk or cut off */
        .report-card-action-btn.secondary,
        .report-card-action-btn:not(.primary) {
            flex: 0 0 auto;
            white-space: nowrap;
        }

        .report-card-action-btn.secondary svg,
        .report-card-action-btn:not(.primary) svg {
            flex-shrink: 0;
        }

        .report-card:hover .report-card-action-btn.primary {
            background: var(--verdict-color);
            border-color: var(--verdict-color);
            color: #000;
        }

        @media (max-width: 380px) {
            .report-card-action-btn {
                padding: 5px 7px;
                font-size: 10px;
                gap: 4px;
            }
        }

        /* Keep old class names as aliases so other usages aren't broken */
        .report-card-view-btn { display:flex; align-items:center; justify-content:center; gap:8px; padding:6px; background:rgba(255,255,255,0.035); border-radius:10px; font-weight:700; font-size:11px; letter-spacing:0.02em; color:rgba(255,255,255,0.65); transition:all 0.3s; flex:1; }

        .report-card-compare-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            padding: 6px 10px;
            background: rgba(255, 255, 255, 0.025);
            border-radius: 10px;
            font-weight: 700;
            font-size: 10px;
            letter-spacing: 0.03em;
            color: rgba(255, 255, 255, 0.40);
            transition: all 0.2s;
            white-space: nowrap;
            cursor: pointer;
        }

        .report-card-compare-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.12);
            color: rgba(var(--ui-accent-rgb), 0.9);
        }

        .report-card:hover .report-card-view-btn {
            background: var(--verdict-color);
            color: #000;
        }

        /* ── Demo Image Styling ── */
        .demo-image-wrap {
            margin: 32px 0 16px;
            border-radius: 20px;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0px 0px 30px rgba(48, 126, 255, .5)
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .demo-image-wrap:hover {
            transform: scale(1.01);
            border-color: rgba(var(--ui-accent-rgb), 0.3);
        }

        .demo-img {
            width: 100%;
            height: auto;
            display: block;
            filter: contrast(1.02) brightness(1.05);
        }

        .demo-image-wrap-portfolio {
            max-width: 350px;
        }

        .demo-image-wrap-newsletter {
            max-width: 700px;
        }

        /* Responsive container reset */
        #recent-reports-container {
            background: transparent !important;
            border: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        /* Mobile Front Page Layout: Horizontal touch carousel with scroll snap */
        @media (max-width: 768px) {
            .recent-reports-grid,
            #front-buys,
            #recent-reports-container .rr-ghost-grid {
                display: flex !important;
                flex-direction: row !important;
                flex-wrap: nowrap !important;
                overflow-x: auto !important;
                overflow-y: hidden !important;
                scroll-snap-type: x mandatory !important;
                -webkit-overflow-scrolling: touch !important;
                overscroll-behavior-x: contain !important;
                gap: 12px !important;
                padding: 6px 4px 16px !important;
                margin-left: -8px !important;
                margin-right: -8px !important;
                padding-left: 8px !important;
                padding-right: 8px !important;
                scrollbar-width: thin;
            }

            .recent-reports-grid > *,
            #front-buys > *,
            #recent-reports-container .rr-ghost-grid > * {
                display: flex !important;
                flex: 0 0 84vw !important;
                max-width: 320px !important;
                min-width: 260px !important;
                scroll-snap-align: start !important;
                box-sizing: border-box !important;
            }

            .recent-reports-grid::-webkit-scrollbar,
            #front-buys::-webkit-scrollbar {
                height: 3px;
            }
            .recent-reports-grid::-webkit-scrollbar-track,
            #front-buys::-webkit-scrollbar-track {
                background: rgba(255, 255, 255, 0.04);
                border-radius: 3px;
            }
            .recent-reports-grid::-webkit-scrollbar-thumb,
            #front-buys::-webkit-scrollbar-thumb {
                background: rgba(var(--ui-accent-rgb, 176,176,176), 0.25);
                border-radius: 3px;
            }
        }

        .rr-company {
            font-weight: 600;
            color: #d3dddd;
            margin-bottom: 2px;
            font-size: 13px;
            letter-spacing: -0.01em;
        }

        .rr-date {
            display: block;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.28);
            letter-spacing: 0.03em;
        }

        .verdict-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            white-space: nowrap;
            border: 1px solid transparent;
        }

        /* Verdict colors mapped to Reports.html palette */
        .verdict-badge.strong-buy {
            background: rgba(80, 165, 255, 0.10);
            color: var(--verdict-strong);
            border-color: rgba(80, 165, 255, 0.35);
            box-shadow: 0 0 12px rgba(80, 165, 255, 0.18);
            text-shadow: 0 0 8px rgba(80, 165, 255, 0.35);
        }

        .verdict-badge.buy {
            background: rgba(79, 159, 154, 0.10);
            color: var(--score-5);
            border-color: rgba(79, 159, 154, 0.35);
            box-shadow: 0 0 12px rgba(79, 159, 154, 0.18);
            text-shadow: 0 0 8px rgba(79, 159, 154, 0.35);
        }

        .verdict-badge.watchlist {
            background: rgba(187, 204, 220, 0.10);
            color: var(--score-2);
            border-color: rgba(187, 204, 220, 0.35);
            box-shadow: 0 0 12px rgba(187, 204, 220, 0.18);
            text-shadow: 0 0 8px rgba(187, 204, 220, 0.35);
        }

        .verdict-badge.avoid {
            background: rgba(224, 122, 95, 0.10);
            color: var(--score-2);
            border-color: rgba(224, 122, 95, 0.35);
            box-shadow: 0 0 12px rgba(224, 122, 95, 0.18);
            text-shadow: 0 0 8px rgba(224, 122, 95, 0.35);
        }

        .verdict-badge.short {
            background: rgba(195, 69, 61, 0.10);
            color: var(--score-1);
            border-color: rgba(195, 69, 61, 0.35);
            box-shadow: 0 0 12px rgba(195, 69, 61, 0.18);
            text-shadow: 0 0 8px rgba(195, 69, 61, 0.35);
        }

        /* Scores badges */
        .scores-cell {
            display: flex;
            flex-wrap: wrap;
            gap: 3px;
            font-size: 9px;
            align-items: center;
        }

        .score-badge {
            display: inline-flex;
            align-items: center;
            gap: 2px;
            padding: 2px 6px;
            border-radius: 5px;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.04em;
            white-space: nowrap;
            border: 1px solid;
            font-family: var(--mono-font, monospace);
        }

        .score-badge.score-1 {
            background: rgba(255, 46, 46, 0.12);
            color: var(--score-1);
            border-color: rgba(255, 46, 46, 0.30);
        }

        .score-badge.score-2 {
            background: rgba(255, 191, 0, 0.12);
            color: var(--score-2);
            border-color: rgba(255, 191, 0, 0.30);
        }

        .score-badge.score-3 {
            background: rgba(0, 234, 255, 0.12);
            color: var(--score-3);
            border-color: rgba(0, 234, 255, 0.30);
        }

        .score-badge.score-4 {
            background: rgba(8, 209, 129, 0.12);
            color: var(--score-4);
            border-color: rgba(8, 209, 129, 0.30);
        }

        .score-badge.score-5 {
            background: rgba(48, 126, 255, 0.12);
            color: var(--score-5);
            border-color: rgba(48, 126, 255, 0.30);
        }

        .view-report-link {
            display: inline-block;
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.7);
            padding: 5px 12px;
            border-radius: 6px;
            text-decoration: none;
            font-size: 10px;
            font-weight: 500;
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .view-report-link:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
            border-color: rgba(255, 255, 255, 0.3);
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        }

        .rr-action-btn {
            background: none;
            border: none;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 4px 8px;
            border-radius: 4px;
            transition: color 0.2s ease, background 0.2s ease;
            font-family: inherit;
        }

        .rr-show-more-btn {
            background: none;
            border: 1px solid rgba(255, 255, 255, 0.08);
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.35);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 5px 14px;
            border-radius: 99px;
            transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
            font-family: inherit;
        }

        .rr-show-more-btn:hover {
            color: rgba(255, 255, 255, 0.75);
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(255, 255, 255, 0.18);
        }

        @media (max-width: 768px) {
            .col-scores {
                display: none;
            }
        }

        @keyframes slideInLeft {
            from {
                opacity: 0;
                transform: translateY(-50%) translateX(-20px);
            }

            to {
                opacity: 1;
                transform: translateY(-50%) translateX(0);
            }
        }

        .nav-item {
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.05);
            color: var(--text-muted);
            text-decoration: none;
            font-size: 10px;
            font-weight: 700;
            transition: all 0.3s ease;
            cursor: pointer;
            border: 1px solid transparent;
        }

        .nav-item:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
            transform: scale(1.1);
        }

        .nav-item.active {
            background: var(--apple-blue);
            color: #fff;
            box-shadow: 0 0 15px rgba(var(--accent-rgb), 0.4);
            border-color: rgba(255, 255, 255, 0.2);
        }

        @media (max-width: 1100px) {
            #side-nav {
                display: none !important;
            }
        }

        @media (max-width: 768px) {
            body {
                padding: 10px 16px !important;
            }

            .main-container {
                max-width: 100%;
            }

            .dashboard-header {
                flex-direction: column;
                align-items: flex-start;
                gap: 16px;
            }

            .action-bar {
                width: 100%;
                justify-content: flex-start;
                flex-wrap: wrap;
            }

            .mobile-hide {
                display: none !important;
            }

            .new-scan-btn {
                margin-left: 0;
            }
        }

        .powered-by-gemini {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-top: 16px;
            margin-bottom: 32px;
            font-size: 13px;
            color: rgba(255, 255, 255, 0.6);
            font-weight: 500;
            letter-spacing: 0.05em;
            padding: 6px 14px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 20px;
            backdrop-filter: blur(8px);
            width: fit-content;
            margin-left: auto;
            margin-right: auto;
        }

        .powered-by-gemini img {
            width: 16px;
            height: 16px;
        }

        .attribution-container {
            display: flex;
            align-items: center;
            gap: 3px;
            margin-top: 4px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }

        .attribution-tag {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 8px;
            color: rgba(255, 255, 255, 0.4);
            font-weight: 500;
            letter-spacing: 0.01em;
            padding: 4px 5px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 20px;
            transition: all 0.3s ease;
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        /* Model version badge in results — distinct from the other attribution pills */
        .attribution-tag.model-tag {
            font-family: "SF Mono", "Menlo", monospace;
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.13em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.90);
            background: linear-gradient(135deg, rgba(var(--ui-accent-rgb), 0.12) 0%, rgba(var(--ui-accent-rgb), 0.04) 100%);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.40);
            padding: 5px 10px;
            box-shadow: 0 0 14px rgba(var(--ui-accent-rgb), 0.12), inset 0 1px 0 rgba(var(--ui-accent-rgb), 0.10);
            cursor: pointer;
            transition: border-color 0.3s, box-shadow 0.3s, color 0.3s;
        }

        .attribution-tag.model-tag:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.65);
            box-shadow: 0 0 22px rgba(var(--ui-accent-rgb), 0.22), inset 0 1px 0 rgba(var(--ui-accent-rgb), 0.16);
            color: rgba(var(--ui-accent-rgb), 1);
        }

        .attribution-tag:hover {
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.9);
        }

        .attribution-tag img {
            height: 12px;
            width: auto;
            object-fit: contain;
        }

        /* ── Report Meta Strip — replaces old dashboard-meta-row ── */
        .report-meta-strip {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px;
            padding: 10px 14px;
            margin-bottom: 10px;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 12px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .report-meta-left {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 5px;
        }

        .report-meta-right {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-shrink: 0;
        }

        .rms-tag {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            padding: 3px 9px;
            border-radius: 20px;
            border: 1px solid rgba(255, 255, 255, 0.10);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.45);
            white-space: nowrap;
            transition: border-color 0.2s, color 0.2s;
        }

        .rms-tag:hover {
            color: rgba(255, 255, 255, 0.75);
            border-color: rgba(255, 255, 255, 0.18);
        }

        .rms-model {
            font-family: var(--mono-font);
            font-size: 9.5px;
            color: rgba(var(--ui-accent-rgb), 0.92);
            border-color: transparent;
            background: rgba(var(--ui-accent-rgb), 0.10);
            cursor: pointer;
            position: relative;
            /* Gradient border via box-shadow layering */
            box-shadow:
                0 0 0 1px rgba(var(--ui-accent-rgb), 0.55),
                0 0 8px rgba(var(--ui-accent-rgb), 0.20);
        }

        .rms-model:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            background: rgba(var(--ui-accent-rgb), 0.16);
            box-shadow:
                0 0 0 1px rgba(var(--ui-accent-rgb), 0.8),
                0 0 14px rgba(var(--ui-accent-rgb), 0.35);
        }

        .rms-stitched {
            font-family: var(--mono-font);
            font-size: 9.5px;
            color: #ffaa00;
            background: rgba(255, 170, 0, 0.12);
            border-color: rgba(255, 170, 0, 0.4);
            box-shadow: 0 0 10px rgba(255, 170, 0, 0.2);
            cursor: help;
        }

        .rms-stitched:hover {
            color: #ffc44d;
            background: rgba(255, 170, 0, 0.22);
            border-color: rgba(255, 170, 0, 0.7);
            box-shadow: 0 0 14px rgba(255, 170, 0, 0.35);
        }

        /* Investor links (Presentation + IR Site) — warm highlight */
        .rms-investor-link {
            color: rgba(216, 188, 77, 0.85);
            border-color: rgba(216, 188, 77, 0.28);
            background: rgba(216, 188, 77, 0.07);
            font-weight: 700;
        }

        .rms-investor-link:hover {
            color: rgba(216, 188, 77, 1);
            border-color: rgba(216, 188, 77, 0.50);
            background: rgba(216, 188, 77, 0.13);
        }

        .rms-divider {
            display: inline-block;
            width: 1px;
            height: 14px;
            background: rgba(255, 255, 255, 0.10);
            margin: 0 3px;
            flex-shrink: 0;
        }

        @media (max-width: 540px) {
            .report-meta-right {
                display: none;
            }
        }


        .company-meta-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 10px;
        }

        .company-meta-tag {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 3px 9px;
            border-radius: 20px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.5);
            white-space: nowrap;
        }

        .company-meta-tag.sector {
            color: rgb(187, 204, 220);
            border-color: rgba(187, 204, 220, 0.2);
            background: rgba(187, 204, 220, 0.06);
        }

        .company-meta-tag.industry {
            color: rgba(255, 255, 255, 0.38);
            border-color: rgba(255, 255, 255, 0.08);
            background: rgba(255, 255, 255, 0.02);
        }

        /* Dim label prefix inside meta tags (SECTOR, SUBSECTOR) */
        .cmt-label {
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.14em;
            opacity: 0.45;
            margin-right: 4px;
            font-family: var(--mono-font, monospace);
        }

        .company-meta-tag.country {
            color: rgba(216, 188, 77, 0.85);
            border-color: rgba(216, 188, 77, 0.2);
            background: rgba(216, 188, 77, 0.06);
        }

        .company-meta-tag.ipo {
            color: rgba(216, 188, 77, 0.65);
            border-color: rgba(216, 188, 77, 0.15);
            background: rgba(216, 188, 77, 0.04);
        }


        /* ── Ticker Selection Modal ── */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 10000;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .modal-overlay.active {
            display: flex;
            opacity: 1;
        }

        .modal-content {
            background: rgba(20, 20, 20, 0.85);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 24px;
            width: 90%;
            max-width: 500px;
            padding: 24px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
            transform: scale(0.95);
            transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .modal-overlay.active .modal-content {
            transform: scale(1);
        }

        .modal-header {
            margin-bottom: 20px;
        }

        .modal-header h3 {
            font-size: 20px;
            font-weight: 600;
            margin: 0 0 8px 0;
            color: #fff;
        }

        .modal-header p {
            font-size: 14px;
            color: rgba(255, 255, 255, 0.6);
            margin: 0;
        }

        .search-results-list {
            max-height: 300px;
            overflow-y: auto;
            margin-bottom: 20px;
            padding-right: 4px;
        }

        .search-results-list::-webkit-scrollbar {
            width: 4px;
        }

        .search-results-list::-webkit-scrollbar-track {
            background: transparent;
        }

        .search-results-list::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
        }

        .result-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 16px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 14px;
            margin-bottom: 10px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .result-item:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.15);
            transform: translateY(-2px);
        }

        .result-item.selected {
            background: rgba(216, 188, 77, 0.1);
            border-color: rgba(216, 188, 77, 0.45);
        }

        .result-info {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .result-name {
            font-size: 14px;
            font-weight: 500;
            color: #fff;
        }

        .result-ticker {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.5);
            font-family: var(--font-mono, monospace);
        }

        .result-exchange {
            font-size: 10px;
            padding: 2px 6px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            color: rgba(255, 255, 255, 0.8);
            text-transform: uppercase;
        }

        .modal-footer {
            display: flex;
            gap: 12px;
            justify-content: flex-end;
        }

        .modal-btn {
            padding: 10px 20px;
            border-radius: 12px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
            border: none;
        }

        .modal-btn-cancel {
            background: rgba(255, 255, 255, 0.05);
            color: #fff;
        }

        .modal-btn-cancel:hover {
            background: rgba(255, 255, 255, 0.1);
        }

        .modal-btn-confirm {
            background: rgba(216, 188, 77, 0.18);
            color: rgba(216, 188, 77, 1);
            border: 1px solid rgba(216, 188, 77, 0.35);
        }

        .modal-btn-confirm:hover {
            background: rgba(216, 188, 77, 0.28);
            box-shadow: 0 0 18px rgba(216, 188, 77, 0.25);
            border-color: rgba(216, 188, 77, 0.55);
        }

        .modal-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        /* ── Processing / Auth Feedback Modal ── */
        #processing-modal.modal-overlay {
            background: rgba(0, 0, 0, 0.78);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
        }

        #processing-modal .modal-content {
            max-width: 440px;
            padding: 26px 26px 22px;
            background: rgba(18, 20, 26, 0.94);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            box-shadow: 0 32px 90px rgba(0, 0, 0, 0.85),
                        0 0 0 1px rgba(255, 255, 255, 0.04),
                        inset 0 1px 0 rgba(255, 255, 255, 0.10);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            position: relative;
            overflow: hidden;
        }

        #processing-modal .modal-content::before {
            content: '';
            position: absolute;
            top: 0;
            left: 10%;
            right: 10%;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--ui-accent, #B0B0B0), transparent);
            opacity: 0.65;
            pointer-events: none;
        }

        .proc-modal-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font, ui-monospace, monospace);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--ui-accent, #B0B0B0);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.08);
            border: 1px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.22);
            padding: 3px 8px;
            border-radius: 6px;
            margin-bottom: 10px;
        }

        .proc-badge-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--ui-accent, #B0B0B0);
            box-shadow: 0 0 6px var(--ui-accent, #B0B0B0);
            animation: proc-badge-pulse 2s ease-in-out infinite;
        }

        @keyframes proc-badge-pulse {
            0%, 100% { opacity: 0.45; transform: scale(0.9); }
            50% { opacity: 1; transform: scale(1.2); }
        }

        .proc-modal-title {
            font-size: 19px;
            font-weight: 700;
            color: #ffffff;
            margin: 0 0 6px 0;
            letter-spacing: -0.015em;
            font-family: var(--body-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
        }

        .proc-modal-subtitle {
            font-size: 12.5px;
            color: rgba(255, 255, 255, 0.48);
            margin: 0 0 20px 0;
            line-height: 1.45;
            letter-spacing: 0.01em;
        }

        .proc-steps {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 20px;
        }

        /* Connecting cybernetic spine between nodes */
        .proc-steps::before {
            content: '';
            position: absolute;
            top: 24px;
            bottom: 24px;
            left: 28px;
            width: 2px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 100%);
            z-index: 1;
        }

        .proc-step {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 14px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.06);
            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .proc-step.active {
            background: rgba(255, 255, 255, 0.045);
            border-color: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3), inset 0 0 16px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.04);
        }

        .proc-step.done {
            background: rgba(8, 209, 129, 0.035);
            border-color: rgba(8, 209, 129, 0.22);
        }

        .proc-step.error {
            background: rgba(255, 59, 48, 0.06);
            border-color: rgba(255, 59, 48, 0.3);
        }

        .proc-step-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--mono-font, ui-monospace, monospace);
            font-size: 11px;
            font-weight: 700;
            transition: all 0.25s ease;
            border: 1.5px solid rgba(255, 255, 255, 0.14);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.35);
            position: relative;
        }

        .proc-step.pending .proc-step-icon {
            border-color: rgba(255, 255, 255, 0.10);
            background: rgba(255, 255, 255, 0.025);
            color: rgba(255, 255, 255, 0.28);
        }

        .proc-step-icon.active {
            border-color: var(--ui-accent, #B0B0B0);
            background: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.12);
            color: var(--ui-accent, #B0B0B0);
            box-shadow: 0 0 16px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.3);
            animation: proc-pulse 1.6s ease-in-out infinite;
        }

        .proc-step-icon.done {
            border-color: var(--verdict-buy, #08d181);
            background: rgba(8, 209, 129, 0.14);
            color: var(--verdict-buy, #08d181);
            box-shadow: 0 0 14px rgba(8, 209, 129, 0.3);
            animation: none;
        }

        .proc-step-icon.error {
            border-color: #ff3b30;
            background: rgba(255, 59, 48, 0.14);
            color: #ff3b30;
            box-shadow: 0 0 12px rgba(255, 59, 48, 0.35);
            animation: none;
        }

        .proc-step-spinner {
            width: 15px;
            height: 15px;
            border: 2px solid rgba(var(--ui-accent-rgb, 176, 176, 176), 0.22);
            border-top-color: var(--ui-accent, #B0B0B0);
            border-right-color: var(--ui-accent, #B0B0B0);
            border-radius: 50%;
            animation: proc-spin 0.75s linear infinite;
            display: none;
        }

        .proc-step-check {
            width: 14px;
            height: 14px;
            stroke: var(--verdict-buy, #08d181);
            stroke-width: 2.6;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
            display: none;
        }

        .proc-step-num {
            display: inline-block;
            line-height: 1;
        }

        .proc-step-icon.active .proc-step-spinner {
            display: block;
        }

        .proc-step-icon.active .proc-step-num,
        .proc-step-icon.active .proc-step-check {
            display: none;
        }

        .proc-step-icon.done .proc-step-spinner,
        .proc-step-icon.done .proc-step-num {
            display: none;
        }

        .proc-step-icon.done .proc-step-check {
            display: block;
            animation: proc-pop 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        .proc-step-icon.error .proc-step-spinner,
        .proc-step-icon.error .proc-step-check {
            display: none;
        }

        .proc-step-icon.error .proc-step-num {
            display: inline-block;
        }

        @keyframes proc-pop {
            0% { transform: scale(0.6); opacity: 0; }
            100% { transform: scale(1); opacity: 1; }
        }

        @keyframes proc-spin {
            to { transform: rotate(360deg); }
        }

        @keyframes proc-pulse {
            0%, 100% { box-shadow: 0 0 10px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.20); }
            50% { box-shadow: 0 0 18px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.45); }
        }

        .proc-step-text {
            display: flex;
            flex-direction: column;
            gap: 2px;
            flex: 1;
        }

        .proc-step-label {
            font-size: 13.5px;
            font-weight: 600;
            color: #ffffff;
            letter-spacing: -0.01em;
            transition: color 0.2s;
        }

        .proc-step.pending .proc-step-label {
            color: rgba(255, 255, 255, 0.38);
        }

        .proc-step.done .proc-step-label {
            color: rgba(255, 255, 255, 0.88);
        }

        .proc-step.active .proc-step-label {
            color: #ffffff;
        }

        .proc-step-detail {
            font-family: var(--mono-font, ui-monospace, monospace);
            font-size: 11px;
            color: rgba(255, 255, 255, 0.35);
            letter-spacing: 0.02em;
            min-height: 15px;
            transition: color 0.2s;
        }

        .proc-step.active .proc-step-detail {
            color: var(--ui-accent, #B0B0B0);
            font-weight: 500;
        }

        .proc-step.done .proc-step-detail {
            color: rgba(255, 255, 255, 0.5);
        }

        .proc-step.error .proc-step-detail {
            color: #ff6b64;
        }

        .proc-modal-error {
            display: none;
            background: rgba(255, 59, 48, 0.09);
            border: 1px solid rgba(255, 59, 48, 0.3);
            border-radius: 12px;
            padding: 12px 16px;
            font-size: 12.5px;
            font-family: var(--mono-font, ui-monospace, monospace);
            color: #ff6b64;
            margin-bottom: 16px;
            line-height: 1.45;
            box-shadow: 0 4px 16px rgba(255, 59, 48, 0.12);
        }

        .proc-modal-error.visible {
            display: block;
        }

        .proc-modal-actions {
            display: flex;
            justify-content: flex-end;
            margin-bottom: 4px;
        }

        .proc-dismiss-btn {
            display: none;
            padding: 9px 20px;
            border-radius: 10px;
            font-size: 12.5px;
            font-weight: 600;
            cursor: pointer;
            border: 1px solid rgba(255, 255, 255, 0.14);
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.85);
            font-family: var(--mono-font, ui-monospace, monospace);
            letter-spacing: 0.04em;
            text-transform: uppercase;
            transition: all 0.2s;
        }

        .proc-dismiss-btn:hover {
            background: rgba(255, 255, 255, 0.12);
            border-color: rgba(255, 255, 255, 0.28);
            color: #fff;
        }

        .proc-dismiss-btn.visible {
            display: inline-flex;
        }

        .proc-telemetry {
            margin-top: 6px;
            padding-top: 14px;
            border-top: 1px solid rgba(255, 255, 255, 0.07);
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-family: var(--mono-font, ui-monospace, monospace);
            font-size: 9.5px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.32);
        }

        .proc-telemetry-item {
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .proc-pulse-led {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--ui-accent, #B0B0B0);
            box-shadow: 0 0 6px var(--ui-accent, #B0B0B0);
            animation: proc-badge-pulse 1.8s ease-in-out infinite;
        }

        /* ── Ticker Selection Modal ── */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.4);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 10000;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .modal-overlay.active {
            display: flex;
            opacity: 1;
        }

        .modal-content {
            background: rgba(20, 20, 20, 0.85);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 24px;
            width: 90%;
            max-width: 500px;
            padding: 24px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
            transform: scale(0.95);
            transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .modal-overlay.active .modal-content {
            transform: scale(1);
        }

        .modal-header {
            margin-bottom: 20px;
        }

        .modal-header h3 {
            font-size: 20px;
            font-weight: 600;
            margin: 0 0 8px 0;
            color: #fff;
        }

        .modal-header p {
            font-size: 14px;
            color: rgba(255, 255, 255, 0.6);
            margin: 0;
        }

        .search-results-list {
            max-height: 300px;
            overflow-y: auto;
            margin-bottom: 20px;
            padding-right: 4px;
        }

        .search-results-list::-webkit-scrollbar {
            width: 4px;
        }

        .search-results-list::-webkit-scrollbar-track {
            background: transparent;
        }

        .search-results-list::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
        }

        .result-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 12px 16px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 14px;
            margin-bottom: 10px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .result-item:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.15);
            transform: translateY(-2px);
        }

        .result-item.selected {
            background: rgba(216, 188, 77, 0.1);
            border-color: rgba(216, 188, 77, 0.45);
        }

        .result-info {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .result-name {
            font-size: 14px;
            font-weight: 500;
            color: #fff;
        }

        .result-ticker {
            font-size: 12px;
            color: rgba(255, 255, 255, 0.5);
            font-family: var(--font-mono, monospace);
        }

        .result-exchange {
            font-size: 10px;
            padding: 2px 6px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            color: rgba(255, 255, 255, 0.8);
            text-transform: uppercase;
        }

        .modal-footer {
            display: flex;
            gap: 12px;
            justify-content: flex-end;
        }

        .modal-btn {
            padding: 10px 20px;
            border-radius: 12px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
            border: none;
        }

        .modal-btn-cancel {
            background: rgba(255, 255, 255, 0.05);
            color: #fff;
        }

        .modal-btn-cancel:hover {
            background: rgba(255, 255, 255, 0.1);
        }

        .modal-btn-confirm {
            background: rgba(216, 188, 77, 0.18);
            color: rgba(216, 188, 77, 1);
            border: 1px solid rgba(216, 188, 77, 0.35);
        }

        .modal-btn-confirm:hover {
            background: rgba(216, 188, 77, 0.28);
            box-shadow: 0 0 18px rgba(216, 188, 77, 0.25);
            border-color: rgba(216, 188, 77, 0.55);
        }

        .modal-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        .status-msg {
            margin-top: 25px;
            font-weight: 600;
            transition: all 0.4s ease;
            min-height: 20px;
            font-size: 14px;
            text-align: center;
        }

        .status-msg.info {
            color: rgba(255, 255, 255, 0.85);
        }

        .status-msg.error {
            color: #ff3b30;
            text-shadow: 0 0 10px rgba(255, 59, 48, 0.2);
        }

        /* ── Toast notification system ─────────────────────────── */
        #xray-toast-container {
            position: fixed;
            top: 16px;
            right: 16px;
            z-index: 999999;
            display: flex;
            flex-direction: column;
            gap: 8px;
            pointer-events: none;
            max-width: min(400px, calc(100vw - 32px));
        }

        .xray-toast {
            pointer-events: auto;
            background: rgba(22, 22, 23, 0.92);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 12px 16px;
            font-size: 13px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.9);
            display: flex;
            align-items: center;
            gap: 10px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
            transform: translateX(120%);
            opacity: 0;
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
            cursor: pointer;
        }

        .xray-toast.visible {
            transform: translateX(0);
            opacity: 1;
        }

        .xray-toast.toast-error {
            border-left: 3px solid #ff3b30;
        }

        .xray-toast.toast-warn {
            border-left: 3px solid #edd119;
        }

        .xray-toast.toast-ok {
            border-left: 3px solid #08d181;
        }

        .xray-toast.toast-info {
            border-left: 3px solid var(--ui-accent, #B0B0B0);
        }

        .xray-toast-icon {
            font-size: 16px;
            flex-shrink: 0;
        }

        .xray-toast-body {
            flex: 1;
            line-height: 1.4;
        }

        /* ── Resume-session banner ─────────────────────────────── */
        #resume-banner {
            display: none;
            position: fixed;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%) translateY(100px);
            opacity: 0;
            z-index: 100000;
            background: rgba(18, 18, 18, 0.82);
            backdrop-filter: blur(28px) saturate(180%);
            -webkit-backdrop-filter: blur(28px) saturate(180%);
            border: 1px solid rgba(255, 210, 50, 0.22);
            border-radius: 20px;
            padding: 11px 16px 11px 20px;
            max-width: min(520px, calc(100vw - 40px));
            width: max-content;
            box-shadow:
                0 24px 60px rgba(0, 0, 0, 0.65),
                0 0 40px rgba(255, 210, 50, 0.04),
                inset 0 0 0 1px rgba(255, 255, 255, 0.04);
            transition: all 0.7s cubic-bezier(0.16, 1, 0.3, 1);
            align-items: center;
            gap: 15px;
        }

        #resume-banner.visible {
            display: flex;
            transform: translateX(-50%) translateY(0);
            opacity: 1;
        }

        .rb-icon-wrap {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 14px;
            height: 14px;
            flex-shrink: 0;
        }

        .rb-pulse-dot {
            width: 6px;
            height: 6px;
            background: #FFD232;
            border-radius: 50%;
            box-shadow: 0 0 10px rgba(255, 210, 50, 1);
        }

        .rb-pulse-ring {
            position: absolute;
            width: 100%;
            height: 100%;
            border: 1px solid #FFD232;
            border-radius: 50%;
            animation: rb-pulse 2.2s infinite ease-out;
        }

        @keyframes rb-pulse {
            0% {
                transform: scale(0.6);
                opacity: 1;
            }

            100% {
                transform: scale(2.8);
                opacity: 0;
            }
        }

        #resume-banner .rb-text {
            flex: 1;
            font-size: 13.5px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.95);
            letter-spacing: -0.015em;
            line-height: 1.2;
        }

        #resume-banner .rb-company {
            color: #FFD232;
            font-weight: 700;
            text-shadow: 0 0 12px rgba(255, 210, 50, 0.2);
        }

        #resume-banner .rb-btn {
            background: #FFD232;
            color: #000;
            border: none;
            border-radius: 11px;
            padding: 9px 18px;
            font-size: 11.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            box-shadow: 0 4px 15px rgba(255, 210, 50, 0.25);
            white-space: nowrap;
        }

        #resume-banner .rb-btn:hover {
            background: #ffffff;
            transform: translateY(-1.5px) scale(1.02);
            box-shadow: 0 6px 20px rgba(255, 210, 50, 0.35);
        }

        #resume-banner .rb-btn:active {
            transform: translateY(0) scale(0.98);
        }

        #resume-banner .rb-dismiss {
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.25);
            font-size: 22px;
            font-weight: 200;
            cursor: pointer;
            padding: 4px;
            margin-right: -4px;
            line-height: 1;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #resume-banner .rb-dismiss:hover {
            color: #fff;
            transform: scale(1.1);
        }

/* ── Extracted Style Block #2 ── */
/* ── 0. TYPOGRAPHY IMPORTS (Preloaded non-blocking in <head> to eliminate render-blocking latency) ── */
        /* Inter & DM Serif Display are preloaded in head */
        /* v810 — comprehensive layout & polish pass */

        /* ── 1. GLOBAL CANVAS ────────────────────────────────────── */
        body#page-body {
            background: #060608;
            /* Override base body horizontal padding — main-container handles its own gutters */
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        /* Scanline overlay — rendered above canvas but below all UI (z-index 1) */
        body#page-body::after {
            content: '';
            pointer-events: none;
            position: fixed;
            inset: 0;
            z-index: 1;
            background: repeating-linear-gradient(to bottom,
                    transparent 0px,
                    transparent 3px,
                    rgba(0, 0, 0, 0.04) 3px,
                    rgba(0, 0, 0, 0.04) 4px);
            opacity: 1;
        }

        /* Center column — exact width match for all sections */
        .main-container {
            width: 100%;
            max-width: 920px;
            padding: 0 24px 40px;
            margin: 0 auto;
            box-sizing: border-box;
            /* Reset base animation — keep fade-up but simpler */
        }

        /* ── 2. HERO SECTION ─────────────────────────────────────── */
        #setup-view {
            /* body already provides 68px for the fixed nav; add only comfortable breathing room */
            padding-top: 48px;
            text-align: center;
        }

        /* Version badge — understated pill */
        .lc-version-wrap {
            display: flex;
            justify-content: center;
            margin-bottom: 28px;
        }

        .alpha-badge.lc-alpha {
            display: inline-flex;
            align-items: center;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 100px;
            padding: 2px 10px 2px 10px;
            font-size: 9px;
            font-weight: 500;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.85);
            text-transform: uppercase;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
            gap: 7px;
            white-space: nowrap;
            transition: all 0.2s ease;
        }

        .alpha-badge.lc-alpha:hover {
            background: rgba(22, 27, 34, 0.88);
            border-color: rgba(0, 245, 160, 0.45);
            color: #ffffff;
            box-shadow: 0 4px 24px rgba(0, 245, 160, 0.18), 0 0 20px rgba(168, 85, 247, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.15);
            transform: translateY(-1px);
        }

        /* ══════════════════════════════════════════════════════════════════
           Front Page Model Badge — Fancy Heartbeat with Colored Gradient Sweeps
           ══════════════════════════════════════════════════════════════════ */
        .alpha-badge.lc-alpha .heartbeat,
        .heartbeat.heartbeat-fancy {
            position: relative;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: transparent !important;
            box-shadow:
                0 0 10px rgba(0, 245, 160, 0.7),
                0 0 18px rgba(168, 85, 247, 0.45);
            animation: heartbeat-sweep-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
        }

        /* Rotating Core Bead with Continuous Colored Gradient Sweep */
        .alpha-badge.lc-alpha .heartbeat::after,
        .heartbeat.heartbeat-fancy::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 50%;
            background:
                radial-gradient(circle at 35% 32%, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.3) 28%, transparent 55%),
                conic-gradient(
                    from 0deg at 50% 50%,
                    #00f5a0 0deg,
                    #00d9f5 60deg,
                    #3b82f6 120deg,
                    #8b5cf6 180deg,
                    #ec4899 240deg,
                    #f59e0b 300deg,
                    #00f5a0 360deg
                );
            box-shadow:
                0 0 6px rgba(0, 245, 160, 0.9),
                0 0 12px rgba(236, 72, 153, 0.6),
                inset 0 0 2px rgba(255, 255, 255, 0.9);
            animation: heartbeat-sweep-spin 3s linear infinite;
            z-index: 2;
        }

        /* Expanding Sonar / Ping Ripple Wave with Colored Gradient Sweep */
        .alpha-badge.lc-alpha .heartbeat::before,
        .heartbeat.heartbeat-fancy::before {
            content: '';
            position: absolute;
            inset: -3px;
            border-radius: 50%;
            background: conic-gradient(
                from 0deg at 50% 50%,
                #00f5a0 0deg,
                #00d9f5 60deg,
                #3b82f6 120deg,
                #8b5cf6 180deg,
                #ec4899 240deg,
                #f59e0b 300deg,
                #00f5a0 360deg
            );
            filter: blur(2px);
            opacity: 0.85;
            pointer-events: none;
            z-index: 1;
            animation: heartbeat-sweep-ping 2.2s cubic-bezier(0.1, 0.7, 0.1, 1) infinite;
        }

        /* Accelerated Sweep Speed and Super-Luminescence on Badge Hover */
        .alpha-badge.lc-alpha:hover .heartbeat,
        .alpha-badge.lc-alpha:hover .heartbeat.heartbeat-fancy {
            animation-duration: 1.2s !important;
            box-shadow:
                0 0 14px rgba(0, 245, 160, 0.95),
                0 0 24px rgba(236, 72, 153, 0.75);
        }

        .alpha-badge.lc-alpha:hover .heartbeat::after,
        .alpha-badge.lc-alpha:hover .heartbeat.heartbeat-fancy::after {
            animation-duration: 1.2s;
            box-shadow:
                0 0 10px rgba(0, 245, 160, 1),
                0 0 18px rgba(236, 72, 153, 0.85),
                inset 0 0 3px rgba(255, 255, 255, 1);
        }

        .alpha-badge.lc-alpha:hover .heartbeat::before,
        .alpha-badge.lc-alpha:hover .heartbeat.heartbeat-fancy::before {
            animation-duration: 1.4s;
            filter: blur(1.5px);
        }

        @keyframes heartbeat-sweep-spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }

        @keyframes heartbeat-sweep-pulse {
            0%, 100% {
                transform: scale(0.92);
                opacity: 0.9;
            }
            50% {
                transform: scale(1.18);
                opacity: 1;
            }
        }

        @keyframes heartbeat-sweep-ping {
            0% {
                transform: scale(0.75) rotate(0deg);
                opacity: 0.95;
            }
            50% {
                opacity: 0.5;
            }
            100% {
                transform: scale(3.2) rotate(240deg);
                opacity: 0;
            }
        }

        /* Hero logo */
        .lc-hero-logo-wrap {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 24px;
            --speed-mult: 1;
            --hue-primary: var(--ui-accent, #B0B0B0);
            --hue-secondary: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.75);
            --hue-tertiary: rgba(var(--ui-accent-rgb, 176, 176, 176), 0.45);
        }

        .lc-hero-logo-svg {
            height: 46px;
            max-height: 52px;
            width: auto;
            aspect-ratio: 380 / 120;
            display: block;
            overflow: visible;
            filter: drop-shadow(0 0 20px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.35));
            transition: transform 0.3s ease, filter 0.3s ease, opacity 0.3s ease;
            cursor: pointer;
        }

        .lc-hero-logo-svg:hover {
            transform: scale(1.03);
            filter: drop-shadow(0 0 28px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.6));
        }

        .lc-hero-logo {
            height: 30px;
            width: auto;
            display: block;
            opacity: 0.2;
            filter: grayscale(1) drop-shadow(0 0 14px rgba(255, 255, 255, 0.15));
            transition: opacity 0.3s, filter 0.3s;
        }

        .lc-hero-logo:hover {
            opacity: 0.80;
            filter: grayscale(1) drop-shadow(0 0 18px rgba(255, 255, 255, 0.25));
        }

        /* Hero eyebrow */
        .lc-eyebrow {
            display: block;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.26em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.2);
            margin-bottom: 10px;
        }

        /* Hero title — precision cut, no aurora */
        h1.landing-aurora-title.kinetic-title {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: clamp(36px, 5.5vw, 60px);
            font-weight: 900;
            letter-spacing: -0.04em;
            line-height: 1.0;
            text-align: center;
            color: #f0f2f2;
            -webkit-text-fill-color: #f0f2f2;
            text-shadow: none;
            animation: none;
            background: none;
            -webkit-background-clip: unset;
            background-clip: unset;
            margin: 0 0 22px;
            padding: 0;
        }

        h1.landing-aurora-title.kinetic-title::after,
        h1.landing-aurora-title.kinetic-title::before {
            display: none;
        }

        /* Subtitle */
        p.subtitle {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px;
            margin: 0 0 10px;
            padding: 0;
            text-align: center !important;
            max-width: 100% !important;
            width: 100% !important;
        }

        .subtitle-main {
            font-family: 'DM Serif Display', Georgia, serif;
            font-style: italic;
            font-size: clamp(17px, 2.2vw, 22px);
            font-weight: 400;
            letter-spacing: 0;
            color: rgba(240, 242, 242, 0.65);
            text-shadow: none;
            display: block !important;
            text-align: center !important;
            width: 100% !important;
            margin: 0;
            padding: 0;
        }

        .subtitle-sub {
            font-family: 'Inter', -apple-system, sans-serif;
            font-size: 11px;
            font-weight: 500;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.25);
            text-shadow: none;
            display: block !important;
            text-align: center !important;
            width: 100% !important;
            margin: 0;
            padding: 0;
        }

        /* ── 3. UNIFIED COMMAND CONSOLE ───────────────────────────── */
        #er-anchor {
            position: relative;
        }

        .cmd-console {
            background: rgba(12, 12, 14, 0.72);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 18px;
            padding: 16px 16px 20px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04);
            backdrop-filter: blur(28px);
            -webkit-backdrop-filter: blur(28px);
            margin: 0 auto 16px;
            text-align: left;
        }

        .cmd-console-head {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            position: relative;
        }

        .cmd-input-wrap {
            flex: 1;
            position: relative;
            min-width: 220px;
            display: flex;
            align-items: center;
        }

        .cmd-search-icon {
            position: absolute;
            left: 14px;
            top: 24px;
            transform: translateY(-50%);
            color: rgba(255, 255, 255, 0.35);
            pointer-events: none;
            z-index: 2;
            transition: color 0.2s ease;
        }

        .cmd-input-wrap:focus-within .cmd-search-icon {
            color: rgba(255, 255, 255, 0.75);
        }

        .company-input-wrapper {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 12px;
            padding: 4px 14px 4px 42px;
            min-height: 48px;
            width: 100%;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px;
            overflow: visible;
            box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4);
            transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
        }

        .company-input-wrapper:focus-within {
            border-color: rgba(255, 255, 255, 0.28);
            background: rgba(255, 255, 255, 0.04);
            box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.05), inset 0 1px 2px rgba(0, 0, 0, 0.4);
        }

        .company-input-wrapper .tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 6px;
            padding: 2px 7px;
            font-size: 11px;
            font-weight: 700;
            color: #ffffff;
            font-family: monospace;
            flex-shrink: 0;
        }

        .company-input-wrapper .tag span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 16px;
            border-radius: 4px;
            background: rgba(255, 255, 255, 0.10);
            color: rgba(255, 255, 255, 0.55);
            font-size: 12px;
            font-weight: 700;
            line-height: 1;
            cursor: pointer;
            transition: background 0.15s, color 0.15s;
        }

        .company-input-wrapper .tag span:hover {
            background: rgba(255, 80, 80, 0.22);
            color: rgba(255, 130, 130, 0.95);
        }

        #ticker-input {
            font-family: "SF Mono", "Menlo", "Consolas", monospace, var(--body-font);
            font-size: 13.5px;
            font-weight: 500;
            letter-spacing: 0.02em;
            color: #ffffff;
            background: transparent;
            border: none;
            outline: none;
            flex: 1;
            min-width: 90px;
            padding: 10px 0;
            margin: 0;
            box-sizing: border-box;
            text-align: left;
        }

        #ticker-input::placeholder {
            font-family: var(--body-font);
            color: rgba(255, 255, 255, 0.32);
            font-weight: 400;
            font-size: 13.5px;
            letter-spacing: 0;
        }

        /* Adjacent CTA button on desktop */
        .cmd-console-head .submit-btn {
            width: auto;
            min-width: 220px;
            max-width: 100%;
            margin-top: 0 !important;
            height: 48px;
            min-height: 48px;
            align-self: flex-start;
            padding: 0 18px;
            flex-shrink: 0;
            border-radius: 8px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            white-space: nowrap;
        }

        .submit-btn-arrow {
            transition: transform 0.15s ease;
            margin-left: 1px;
            flex-shrink: 0;
        }

        .cmd-console-head .submit-btn:hover .submit-btn-arrow {
            transform: translateX(3px);
        }

        @media (max-width: 768px) {
            .cmd-console-head {
                flex-direction: column;
                gap: 10px;
            }
            .cmd-input-wrap {
                width: 100%;
                min-width: 0;
            }
            .cmd-console-head .submit-btn {
                width: 100%;
                min-width: 0;
                min-height: 48px;
                height: 48px;
            }
        }

        @media (max-width: 480px) {
            .submit-btn-cos-word {
                display: none;
            }
            .cmd-console-head .submit-btn {
                padding: 0 10px;
                gap: 6px;
                font-size: 11px;
                white-space: normal;
                height: auto;
                min-height: 48px;
            }
            .price-bulk-badge {
                padding: 2px 5px;
                font-size: 8px;
                letter-spacing: 0.1em;
            }
        }

        /* ── CMD QUICK BAR: BENCHMARKS & TELEMETRY ───────────────── */
        .cmd-quick-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 8px;
            padding: 3px 4px 0;
        }

        .cmd-quick-samples {
            display: flex;
            align-items: center;
            gap: 5px;
            flex-wrap: wrap;
        }

        .cqs-label {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.28);
            text-transform: uppercase;
            margin-right: 2px;
        }

        .cqs-chip {
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            color: rgba(255, 255, 255, 0.65);
            font-family: "SF Mono", "Menlo", "Consolas", monospace;
            font-size: 10px;
            font-weight: 600;
            padding: 4px 8px;
            cursor: pointer;
            transition: all 0.15s ease;
            user-select: none;
            outline: none;
        }

        .cqs-chip:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.22);
            color: #ffffff;
            transform: translateY(-1px);
        }

        .cmd-telemetry-strip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.35);
            font-family: "SF Mono", "Menlo", monospace, var(--body-font);
        }

        .cts-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: #08d181;
            box-shadow: 0 0 6px #08d181;
            display: inline-block;
            animation: pulse-dot 2s infinite ease-in-out;
        }

        @keyframes pulse-dot {
            0%, 100% { opacity: 0.9; transform: scale(1); }
            50% { opacity: 0.35; transform: scale(0.85); }
        }

        @media (max-width: 680px) {
            .cmd-quick-bar {
                flex-direction: column;
                align-items: flex-start;
                gap: 6px;
            }
            .cmd-telemetry-strip {
                font-size: 8.5px;
            }
        }

        /* ── 4-COLUMN PARAMETER MATRIX ────────────────────────────── */
        .cmd-param-matrix {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
            margin-top: 14px;
        }

        @media (max-width: 860px) {
            .cmd-param-matrix {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 520px) {
            .cmd-param-matrix {
                grid-template-columns: 1fr;
            }
        }

        .cmd-param-col {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0%, rgba(255, 255, 255, 0.008) 100%) !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 14px !important;
            padding: 10px 10px 9px !important;
            display: flex;
            flex-direction: column;
            gap: 6px;
            min-width: 0;
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }

        .cmd-param-col:hover {
            border-color: rgba(255, 255, 255, 0.14) !important;
        }

        .cmd-col-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .cmd-col-title {
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.45);
        }

        .cmd-col-tag {
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 2px 7px;
            border-radius: 6px;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.12);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.65);
            line-height: 1.35;
        }

        .cmd-col-tag--pro {
            background: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.12);
            border-color: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.32);
            color: var(--ui-accent, #38bdf8);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 8px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.15);
        }

        .cmd-col-tag--latest {
            background: rgba(8, 209, 129, 0.12);
            border-color: rgba(8, 209, 129, 0.32);
            color: #08d181;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 8px rgba(8, 209, 129, 0.15);
        }

        /* ── HIGH-DENSITY FROSTED GLASS CARDS ("FULL STACK", "WEB + EMAIL", ETC.) ── */
        .cmd-param-col .mode-card {
            position: relative;
            overflow: hidden;
            padding: 11px 12px !important;
            border-radius: 11px !important;
            margin: 0 !important;
            background: linear-gradient(145deg, rgba(255, 255, 255, 0.055) 0%, rgba(255, 255, 255, 0.015) 50%, rgba(255, 255, 255, 0.035) 100%) !important;
            border: 1px solid rgba(255, 255, 255, 0.12) !important;
            backdrop-filter: blur(16px) saturate(180%) !important;
            -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
            box-shadow: 
                inset 0 1px 1px 0 rgba(255, 255, 255, 0.24),
                inset 0 0 0 1px rgba(255, 255, 255, 0.04),
                0 4px 14px rgba(0, 0, 0, 0.32) !important;
            transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
            cursor: pointer !important;
        }

        /* Physical Glass Specular Bevel (Top Edge Highlight) */
        .cmd-param-col .mode-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, 
                transparent 0%, 
                rgba(255, 255, 255, 0.35) 18%, 
                rgba(255, 255, 255, 0.70) 50%, 
                rgba(255, 255, 255, 0.35) 82%, 
                transparent 100%);
            pointer-events: none;
            border-radius: inherit;
            opacity: 0.65;
            transition: opacity 0.22s ease, background 0.22s ease;
        }

        /* Ambient Glass Refraction Flare */
        .cmd-param-col .mode-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 10%;
            right: 10%;
            height: 55%;
            background: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
            pointer-events: none;
            border-radius: inherit;
            opacity: 0.8;
            transition: opacity 0.22s ease, background 0.22s ease;
        }

        /* Interactive Hover: Elevated Glass with Light Shimmer */
        .cmd-param-col .mode-card:hover:not(.disabled) {
            transform: translateY(-1.5px);
            background: linear-gradient(145deg, 
                rgba(255, 255, 255, 0.09) 0%, 
                rgba(255, 255, 255, 0.035) 50%, 
                rgba(255, 255, 255, 0.065) 100%) !important;
            border-color: rgba(255, 255, 255, 0.28) !important;
            box-shadow: 
                inset 0 1px 1.5px 0 rgba(255, 255, 255, 0.38),
                inset 0 0 0 1px rgba(255, 255, 255, 0.08),
                0 8px 22px rgba(0, 0, 0, 0.42),
                0 0 14px rgba(255, 255, 255, 0.08) !important;
        }

        .cmd-param-col .mode-card:hover:not(.disabled)::before {
            opacity: 1;
        }

        .cmd-param-col .mode-card:hover:not(.disabled)::after {
            opacity: 1;
            background: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.14) 0%, transparent 75%);
        }

        /* Selected Glass State (Luminous Optical Prism with Subtle Accent Aura) */
        .cmd-param-col .mode-card.selected {
            background: linear-gradient(145deg, 
                rgba(255, 255, 255, 0.11) 0%, 
                rgba(var(--ui-accent-rgb, 56, 189, 248), 0.09) 45%, 
                rgba(255, 255, 255, 0.035) 100%) !important;
            border: 1px solid rgba(var(--ui-accent-rgb, 56, 189, 248), 0.46) !important;
            box-shadow: 
                inset 0 1px 1.5px 0 rgba(255, 255, 255, 0.50),
                inset 0 0 18px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.16),
                0 6px 20px rgba(0, 0, 0, 0.42),
                0 0 16px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.22) !important;
        }

        .cmd-param-col .mode-card.selected::before {
            background: linear-gradient(90deg, 
                transparent 0%, 
                rgba(255, 255, 255, 0.50) 15%, 
                rgba(var(--ui-accent-rgb, 56, 189, 248), 0.95) 50%, 
                rgba(255, 255, 255, 0.50) 85%, 
                transparent 100%);
            opacity: 1;
        }

        .cmd-param-col .mode-card.selected::after {
            opacity: 1;
            background: radial-gradient(ellipse at 50% 0%, rgba(var(--ui-accent-rgb, 56, 189, 248), 0.20) 0%, transparent 75%);
        }

        .cmd-param-col .mode-card.disabled {
            opacity: 0.45 !important;
            cursor: not-allowed !important;
            box-shadow: none !important;
        }

        .cmd-param-col .mode-title {
            font-size: 11.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            color: #ffffff;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
        }

        .cmd-param-col .mode-desc {
            font-size: 10px;
            color: rgba(226, 232, 240, 0.62);
            line-height: 1.38;
            margin-top: 3px;
            letter-spacing: 0.01em;
        }

        /* Glass Badges / Status Pills inside Cards */
        .mode-card-badge {
            font-size: 7.5px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 2px 6px;
            border-radius: 4px;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.16);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.2;
            flex-shrink: 0;
        }

        .mode-card-badge--live {
            background: rgba(8, 209, 129, 0.14);
            border-color: rgba(8, 209, 129, 0.35);
            color: #08d181;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 0 8px rgba(8, 209, 129, 0.2);
        }

        .mode-card-badge--accent {
            background: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.16);
            border-color: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.4);
            color: var(--ui-accent, #38bdf8);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 0 8px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.2);
        }

        /* Frosted Glass Expand Extra Buttons */
        .cmd-param-col .expand-extra-btn {
            display: inline-flex !important;
            align-items: center;
            gap: 5px;
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            font-style: normal;
            color: rgba(255, 255, 255, 0.62);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 6px;
            padding: 3.5px 8px;
            margin-top: 5px;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
            transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
            cursor: pointer;
            width: fit-content;
        }

        .cmd-param-col .expand-extra-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.22);
            color: #ffffff;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 2px 8px rgba(0, 0, 0, 0.3);
            transform: translateY(-0.5px);
        }

        /* ── ACTIVE SWARM MODULES STRIP ───────────────────────────── */
        .swarm-modules-strip {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
            padding: 8px 12px;
            background: rgba(255, 255, 255, 0.015);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 12px;
        }

        .sms-title {
            width: 100%;
            font-size: 9.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.35);
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .sms-template-trigger {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            padding: 2px 7px;
            font-family: var(--mono-font);
            font-size: 9.5px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.65);
            cursor: pointer;
            transition: all 0.18s ease;
            text-transform: none;
            letter-spacing: normal;
        }
        .sms-template-trigger:hover {
            background: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.12);
            border-color: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.35);
            color: #ffffff;
        }

        .sms-pills {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 5px;
            flex: 1;
        }

        .sms-pill {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-family: inherit;
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.65);
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            padding: 3px 8px;
            cursor: pointer;
            transition: all 0.18s ease;
            user-select: none;
            outline: none;
            -webkit-appearance: none;
            position: relative;
        }

        .sms-pill.is-active {
            color: #ffffff;
            background: rgba(48, 126, 255, 0.09);
            border-color: rgba(48, 126, 255, 0.28);
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
        }

        .sms-pill:hover {
            border-color: rgba(255, 255, 255, 0.35);
            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
            transform: translateY(-1px);
        }

        .sms-pill.is-inactive {
            opacity: 0.28;
            text-decoration: line-through;
            border-color: rgba(255, 255, 255, 0.03);
            background: transparent;
        }

        .sms-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 12px;
            height: 12px;
            flex-shrink: 0;
            color: var(--mod-color, currentColor);
            transition: transform 0.18s ease, opacity 0.18s ease, filter 0.18s ease;
        }

        .sms-icon svg {
            width: 12px;
            height: 12px;
            display: block;
        }

        .sms-pill.is-active .sms-icon {
            filter: drop-shadow(0 0 3px var(--mod-color, currentColor));
        }

        .sms-pill:hover .sms-icon {
            transform: scale(1.15);
        }

        .sms-pill.is-inactive .sms-icon {
            opacity: 0.28;
            filter: grayscale(1);
        }

        .sms-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            display: inline-block;
            flex-shrink: 0;
            background-color: var(--mod-color, #38bdf8);
            box-shadow: 0 0 5px var(--mod-color, #38bdf8);
            transition: opacity 0.18s ease;
        }

        .sms-pill.is-inactive .sms-dot {
            opacity: 0.2;
            box-shadow: none;
        }

        .sms-label {
            letter-spacing: 0.08em;
            font-weight: 700;
        }

        .sms-pill[data-dim="Moat"] { --mod-color: #a855f7; }
        .sms-pill[data-dim="Wealth Destruction"] { --mod-color: #f59e0b; }
        .sms-pill[data-dim="Valuation"] { --mod-color: #10b981; }
        .sms-pill[data-dim="Peer Analysis"] { --mod-color: #38bdf8; }
        .sms-pill[data-dim="AI Resiliency"] { --mod-color: #f43f5e; }
        .sms-pill[data-dim="Capital Allocation"] { --mod-color: #eab308; }
        .sms-pill[data-dim="Alignment"] { --mod-color: #14b8a6; }
        .sms-pill[data-dim="Catalysts"] { --mod-color: #f97316; }
        .sms-pill[data-dim="Macro Regime"] { --mod-color: #6366f1; }

        @media (max-width: 600px) {
            .sms-dot {
                display: none;
            }
            .sms-pill {
                padding: 6px 9px;
                min-height: 28px;
                gap: 4px;
                font-size: 8px;
            }
            .sms-icon, .sms-icon svg {
                width: 11px;
                height: 11px;
            }
        }

        /* ── PRESET SWARM TEMPLATES BAR & MODAL ───────────────────── */
        .swarm-templates-bar {
            margin-top: 10px;
            padding: 10px 12px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 12px;
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .stb-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px;
        }

        .stb-title-group {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .stb-title {
            font-size: 9.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.4);
            white-space: nowrap;
        }

        .stb-active-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            padding: 2px 8px;
            border-radius: 5px;
            background: rgba(56, 189, 248, 0.12);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.3);
            white-space: nowrap;
        }

        .stb-badge-dot {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: currentColor;
            box-shadow: 0 0 6px currentColor;
        }

        .stb-browse-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-family: inherit;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.75);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 6px;
            padding: 4px 9px;
            cursor: pointer;
            transition: all 0.18s ease;
            outline: none;
            user-select: none;
        }

        .stb-browse-btn:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.09);
            border-color: rgba(255, 255, 255, 0.25);
            transform: translateY(-1px);
        }

        .stb-quick-pills {
            display: flex;
            align-items: center;
            gap: 5px;
            overflow-x: auto;
            padding-bottom: 2px;
            scrollbar-width: none;
            -ms-overflow-style: none;
            -webkit-overflow-scrolling: touch;
        }

        .stb-quick-pills::-webkit-scrollbar {
            display: none;
        }

        .stb-quick-pill {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-family: inherit;
            font-size: 8.5px;
            font-weight: 600;
            letter-spacing: 0.04em;
            color: rgba(255, 255, 255, 0.55);
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 6px;
            padding: 3px 8px;
            cursor: pointer;
            white-space: nowrap;
            transition: all 0.16s ease;
            outline: none;
            user-select: none;
        }

        .stb-quick-pill:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.2);
        }

        .stb-quick-pill.is-active {
            color: #ffffff;
            background: rgba(56, 189, 248, 0.14);
            border-color: rgba(56, 189, 248, 0.4);
            box-shadow: 0 0 10px rgba(56, 189, 248, 0.15);
        }

        .stb-mandate-card {
            padding: 8px 10px;
            background: rgba(0, 0, 0, 0.25);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .stb-mandate-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 6px;
        }

        .stb-mandate-tag {
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 2px 5px;
            border-radius: 4px;
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.3);
        }

        .stb-mandate-persona {
            font-size: 8.5px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.4);
            font-style: italic;
        }

        .stb-mandate-text {
            font-size: 9.5px;
            line-height: 1.4;
            color: rgba(255, 255, 255, 0.65);
        }

        .stb-benchmarks {
            display: flex;
            align-items: center;
            gap: 5px;
            flex-wrap: wrap;
            margin-top: 2px;
        }

        .stb-benchmarks-label {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.35);
        }

        .stb-benchmark-chip {
            font-family: var(--mono-font, monospace);
            font-size: 8.5px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.7);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 4px;
            padding: 1px 5px;
            cursor: pointer;
            transition: all 0.15s ease;
            outline: none;
        }

        .stb-benchmark-chip:hover {
            color: #000000;
            background: var(--ui-accent, #38bdf8);
            border-color: var(--ui-accent, #38bdf8);
        }

        @keyframes stb-flash {
            0% { box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.6); }
            100% { box-shadow: none; }
        }

        .stb-pulse-flash {
            animation: stb-flash 0.5s ease-out;
        }

        /* ── SWARM TEMPLATES DIRECTORY MODAL ───────────────────────── */
        .st-modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.75);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 100005;
            padding: 16px;
            opacity: 0;
            transition: opacity 0.22s ease;
        }

        .st-modal-overlay.active {
            display: flex;
            opacity: 1;
        }

        .st-modal-window {
            background: #0d0f14;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 18px;
            width: 100%;
            max-width: 960px;
            max-height: 88vh;
            display: flex;
            flex-direction: column;
            box-shadow: 0 24px 64px rgba(0, 0, 0, 0.85);
            overflow: hidden;
            transform: scale(0.97);
            transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        .st-modal-overlay.active .st-modal-window {
            transform: scale(1);
        }

        .st-modal-header {
            padding: 16px 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            background: rgba(255, 255, 255, 0.015);
        }

        .st-modal-header-info {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .st-modal-title {
            font-size: 14px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #ffffff;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .st-modal-count-badge {
            font-size: 9px;
            font-weight: 700;
            padding: 2px 6px;
            border-radius: 4px;
            background: rgba(56, 189, 248, 0.15);
            color: #38bdf8;
            border: 1px solid rgba(56, 189, 248, 0.3);
        }

        .st-modal-subtitle {
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.45);
            line-height: 1.4;
        }

        .st-modal-close-btn {
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.4);
            font-size: 20px;
            line-height: 1;
            cursor: pointer;
            padding: 4px;
            border-radius: 6px;
            transition: color 0.15s ease;
        }

        .st-modal-close-btn:hover {
            color: #ffffff;
        }

        .st-modal-filter-bar {
            padding: 10px 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px;
            background: rgba(0, 0, 0, 0.2);
        }

        .st-cat-tabs {
            display: flex;
            align-items: center;
            gap: 5px;
            flex-wrap: wrap;
        }

        .st-cat-tab {
            font-family: inherit;
            font-size: 9px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            padding: 4px 9px;
            border-radius: 5px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.6);
            cursor: pointer;
            transition: all 0.15s ease;
            outline: none;
        }

        .st-cat-tab:hover {
            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.2);
        }

        .st-cat-tab.is-active {
            color: #ffffff;
            background: rgba(56, 189, 248, 0.16);
            border-color: rgba(56, 189, 248, 0.4);
        }

        .st-search-wrap {
            position: relative;
            display: flex;
            align-items: center;
        }

        .st-search-input {
            width: 200px;
            font-family: inherit;
            font-size: 11px;
            color: #ffffff;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 6px;
            padding: 5px 10px 5px 28px;
            outline: none;
            transition: all 0.18s ease;
        }

        .st-search-input:focus {
            border-color: var(--ui-accent, #38bdf8);
            background: rgba(255, 255, 255, 0.07);
        }

        .st-search-icon {
            position: absolute;
            left: 8px;
            pointer-events: none;
            color: rgba(255, 255, 255, 0.35);
        }

        .st-modal-body {
            padding: 16px 20px 24px;
            overflow-y: auto;
            flex: 1;
            scrollbar-width: thin;
        }

        .st-cards-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 12px;
        }

        .st-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px;
            display: flex;
            flex-direction: column;
            gap: 7px;
            transition: all 0.18s ease;
            cursor: pointer;
            position: relative;
        }

        .st-card:hover {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.22);
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
        }

        .st-card.is-current {
            border-color: rgba(56, 189, 248, 0.5);
            background: rgba(56, 189, 248, 0.06);
            box-shadow: 0 0 16px rgba(56, 189, 248, 0.15);
        }

        .st-card-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 6px;
        }

        .st-card-title {
            font-size: 11.5px;
            font-weight: 800;
            color: #ffffff;
            line-height: 1.3;
        }

        .st-card-tag {
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 2px 5px;
            border-radius: 4px;
            white-space: nowrap;
        }

        .st-card-persona {
            font-size: 8.5px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.4);
            font-style: italic;
        }

        .st-card-mandate {
            font-size: 9.5px;
            line-height: 1.4;
            color: rgba(255, 255, 255, 0.65);
            flex: 1;
        }

        .st-card-dims {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 4px;
            margin-top: 2px;
        }

        .st-card-dim-pill {
            font-size: 7px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 1px 4px;
            border-radius: 3px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.55);
        }

        .st-card-foot {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            padding-top: 8px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            margin-top: 2px;
        }

        .st-card-benchmarks {
            display: flex;
            align-items: center;
            gap: 3px;
            font-size: 8px;
            color: rgba(255, 255, 255, 0.35);
        }

        .st-card-bench-tag {
            font-family: var(--mono-font, monospace);
            font-size: 8px;
            color: rgba(255, 255, 255, 0.6);
            background: rgba(255, 255, 255, 0.05);
            padding: 1px 3px;
            border-radius: 3px;
        }

        .st-card-deploy-btn {
            font-family: inherit;
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 4px 8px;
            border-radius: 5px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.14);
            color: #ffffff;
            cursor: pointer;
            transition: all 0.15s ease;
            outline: none;
            white-space: nowrap;
        }

        .st-card:hover .st-card-deploy-btn {
            background: var(--ui-accent, #38bdf8);
            color: #000000;
            border-color: var(--ui-accent, #38bdf8);
        }

        @media (max-width: 680px) {
            .st-modal-window {
                max-height: 92vh;
                border-radius: 14px;
            }
            .st-cards-grid {
                grid-template-columns: 1fr;
            }
            .st-search-input {
                width: 100%;
            }
            .st-search-wrap {
                width: 100%;
            }
        }

        /* ── COMPACT AUTH ROW ────────────────────────────────────── */
        .cmd-auth-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        @media (max-width: 580px) {
            .cmd-auth-row {
                grid-template-columns: 1fr;
            }
        }

        .cmd-field-wrap {
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
        }

        .cmd-field-label {
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.38);
        }

        .cmd-field-opt {
            font-size: 8.5px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.22);
        }

        .cmd-text-input {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            color: rgba(255, 255, 255, 0.9);
            font-size: 12px;
            font-family: inherit;
            padding: 9px 12px;
            width: 100%;
            box-sizing: border-box;
            outline: none;
            transition: border-color 0.15s, box-shadow 0.15s;
        }

        .cmd-text-input:focus {
            border-color: rgba(255, 255, 255, 0.25);
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.05);
        }

        .cmd-text-input::placeholder {
            color: rgba(255, 255, 255, 0.22);
        }

        /* ── Unified Auth: Retire redundant in-page accordion in all states ── */
        .subscriber-login {
            display: none !important;
        }

        .cmd-auth-helper-row {
            grid-column: 1 / -1;
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.4);
            margin-top: 2px;
            padding: 0 2px;
            flex-wrap: wrap;
            gap: 6px;
        }

        .cahr-hint {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.42);
        }

        .cahr-links {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .cahr-links a {
            color: var(--ui-accent, #B0B0B0);
            text-decoration: none;
            font-size: 11px;
            font-weight: 500;
            padding: 4px 6px;
            border-radius: 4px;
            min-height: 24px;
            display: inline-flex;
            align-items: center;
            transition: color 0.15s, background 0.15s;
        }

        .cahr-links a:hover {
            text-decoration: none;
            color: #fff;
            background: rgba(255, 255, 255, 0.06);
        }

        .cahr-dot {
            opacity: 0.25;
            font-size: 10px;
        }

        body.subscriber-logged-in .cmd-commercial-bar {
            background: rgba(56, 189, 248, 0.04);
            border-color: rgba(56, 189, 248, 0.16);
        }

        body.subscriber-logged-in .cmd-commercial-bar .ccb-status {
            color: rgba(255, 255, 255, 0.85);
        }

        /* ── UNIFIED COMMERCIAL BAR ──────────────────────────────── */
        .cmd-commercial-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 12px;
            padding: 10px 14px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 10px;
            font-size: 11px;
        }

        .ccb-status {
            color: rgba(255, 255, 255, 0.55);
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .ccb-link {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            color: rgba(255, 255, 255, 0.85);
            text-decoration: none;
            font-weight: 600;
            font-size: 11px;
            transition: color 0.15s;
        }

        .ccb-link:hover {
            color: #ffffff;
            text-decoration: underline;
        }

        /* Price tag variant for included subscription runs */
        .price-tag.price-tag--included {
            background: rgba(2, 6, 23, 0.4) !important;
            color: #38bdf8 !important;
            border: 1px solid rgba(56, 189, 248, 0.5) !important;
            font-size: 9.5px;
            letter-spacing: 0.08em;
            padding: 2px 8px;
        }

        /* ── INSTITUTIONAL INFRASTRUCTURE FOOTER ─────────────────── */
        .infrastructure-footer,
        .hero-infrastructure-panel {
            background: rgba(13, 17, 23, 0.45);
            border: 1px solid rgba(255, 255, 255, 0.05);
            box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.03);
            border-radius: 12px;
            padding: 10px 14px 12px;
            margin: 28px auto 16px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            max-width: 920px;
            width: 100%;
            box-sizing: border-box;
            opacity: 0.65;
            filter: grayscale(0.65);
            transition: opacity 0.25s ease, filter 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
        }

        .infrastructure-footer:hover,
        .hero-infrastructure-panel:hover {
            opacity: 1;
            filter: grayscale(0);
            border-color: rgba(255, 255, 255, 0.12);
            box-shadow: 0 8px 30px -4px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.06);
        }

        .infra-footer-header,
        .hip-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 8px;
            padding-bottom: 6px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        .infra-footer-header .infra-footer-title-wrap,
        .hip-title-wrap {
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .infra-footer-dot,
        .hip-pulse {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #10b981;
            box-shadow: 0 0 8px #10b981;
            animation: hip-pulse 2s infinite ease-in-out;
            flex-shrink: 0;
            display: inline-block;
        }

        @keyframes hip-pulse {
            0%, 100% { opacity: 0.6; transform: scale(0.9); }
            50% { opacity: 1; transform: scale(1.15); }
        }

        .infra-footer-title,
        .hip-title {
            font-family: var(--font-mono, 'SF Mono', monospace);
            font-size: 9.5px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.55);
        }

        .infra-footer-badge,
        .hip-badge {
            font-family: var(--font-mono, 'SF Mono', monospace);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            padding: 2px 7px;
            border-radius: 4px;
            background: rgba(56, 189, 248, 0.08);
            color: rgba(56, 189, 248, 0.85);
            border: 1px solid rgba(56, 189, 248, 0.2);
        }

        .infrastructure-footer .attribution-container,
        .hero-infrastructure-panel .attribution-container,
        .attribution-container {
            display: flex !important;
            flex-wrap: wrap !important;
            justify-content: flex-start !important;
            align-items: center !important;
            gap: 6px !important;
            margin: 0 !important;
            width: 100% !important;
            opacity: 1 !important;
            filter: none !important;
        }

        .attribution-tag {
            display: inline-flex;
            align-items: center;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            padding: 4px 9px 4px 7px;
            font-size: 10.5px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.75);
            gap: 6px;
            letter-spacing: 0.02em;
            transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
            white-space: nowrap;
            cursor: default;
        }

        .attribution-tag img {
            flex-shrink: 0;
            object-fit: contain;
        }

        .attribution-tag:hover {
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(255, 255, 255, 0.22);
            color: #ffffff;
            transform: translateY(-1px);
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
        }

        .attribution-tag[data-provider="gemini"]:hover { border-color: rgba(66, 133, 244, 0.5); }
        .attribution-tag[data-provider="fmp"]:hover { border-color: rgba(16, 185, 129, 0.5); }
        .attribution-tag[data-provider="alphavantage"]:hover { border-color: rgba(245, 158, 11, 0.5); }
        .attribution-tag[data-provider="finnhub"]:hover { border-color: rgba(14, 165, 233, 0.5); }
        .attribution-tag[data-provider="tradingview"]:hover { border-color: rgba(41, 98, 255, 0.5); }
        .attribution-tag[data-provider="gurufocus"]:hover { border-color: rgba(168, 85, 247, 0.5); }
        .attribution-tag[data-provider="deepseek"]:hover { border-color: rgba(239, 68, 68, 0.5); }
        .attribution-tag[data-provider="tavily"]:hover { border-color: rgba(74, 222, 128, 0.5); }
        .attribution-tag[data-provider="telegram"]:hover { border-color: rgba(0, 136, 204, 0.5); }
        .attribution-tag[data-provider="litellm"]:hover { border-color: rgba(245, 166, 35, 0.5); }

        @media (max-width: 640px) {
            .infrastructure-footer,
            .hero-infrastructure-panel {
                padding: 8px 10px 10px;
                margin-top: 20px;
                margin-bottom: 12px;
            }
            .infra-footer-title,
            .hip-title {
                font-size: 8px;
            }
            .infra-footer-badge,
            .hip-badge {
                font-size: 8px;
                padding: 1px 5px;
            }
            .attribution-tag {
                font-size: 9.5px;
                padding: 3px 7px 3px 5px;
                gap: 4px;
            }
            .attribution-tag img,
            .attribution-tag svg {
                height: 11px !important;
                width: 11px !important;
            }
        }

        /* Top Nav Brand Link & Logo styling */
        .top-nav-brand-link {
            display: flex;
            align-items: center;
            gap: 9px;
            text-decoration: none;
            min-height: 44px;
        }

        .tnb-logo-img {
            height: 26px;
            max-height: 28px;
            width: auto;
            display: block;
            object-fit: contain;
            filter: drop-shadow(0 0 6px rgba(var(--ui-accent-rgb, 176, 176, 176), 0.25));
            transition: opacity 0.2s ease, transform 0.2s ease;
        }

        .tnb-logo-svg {
            height: 26px;
            max-height: 28px;
            width: auto;
            aspect-ratio: 380 / 120;
            display: block;
            flex-shrink: 0;
            overflow: visible;
            filter: drop-shadow(0 0 8px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.35));
            transition: opacity 0.2s ease, transform 0.2s ease;
        }

        .top-nav-brand-link:hover .tnb-logo-img,
        .top-nav-brand-link:hover .tnb-logo-svg {
            opacity: 0.95;
            transform: scale(1.02);
            filter: drop-shadow(0 0 12px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.55));
        }

        /* C4: Columnar Matrix Cascade (Left/Right Outer Edges Sweeping Inward to X=190) */
        .c4-col { transform-origin: 190px 60px; will-change: transform, opacity; }
        .c4-col-1 { animation: c4ColIn calc(2.4s / var(--speed-mult, 1)) ease-in-out infinite 0s; }
        .c4-col-2 { animation: c4ColIn calc(2.4s / var(--speed-mult, 1)) ease-in-out infinite calc(0.12s / var(--speed-mult, 1)); }
        .c4-col-3 { animation: c4ColIn calc(2.4s / var(--speed-mult, 1)) ease-in-out infinite calc(0.24s / var(--speed-mult, 1)); }
        .c4-col-4 { animation: c4ColIn calc(2.4s / var(--speed-mult, 1)) ease-in-out infinite calc(0.36s / var(--speed-mult, 1)); }
        .c4-col-5 { animation: c4ColIn calc(2.4s / var(--speed-mult, 1)) ease-in-out infinite calc(0.48s / var(--speed-mult, 1)); }
        .c4-col-6 { animation: c4ColIn calc(2.4s / var(--speed-mult, 1)) ease-in-out infinite calc(0.60s / var(--speed-mult, 1)); }
        @keyframes c4ColIn {
            0%, 100% { opacity: 0.12; transform: scaleY(0.45); }
            45% { opacity: 1; transform: scaleY(1); filter: drop-shadow(0 0 8px var(--hue-primary, var(--ui-accent, #38bdf8))); }
            72% { opacity: 0.72; transform: scaleY(0.95); }
        }

        .tnb-brand-text {
            display: inline-flex;
            align-items: baseline;
            gap: 5px;
            font-family: var(--header-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
            line-height: 1;
            user-select: none;
            white-space: nowrap;
        }

        .tnb-brand-name {
            display: none;
        }

        .tnb-slash {
            color: rgba(255, 255, 255, 0.25);
            font-size: 11px;
            font-weight: 400;
        }

        .tnb-tagline {
            font-size: 11px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.45);
            letter-spacing: 0.02em;
        }

        @media (max-width: 820px) {
            .tnb-tagline, .tnb-slash {
                display: none;
            }
        }

        @media (max-width: 480px) {
            .tnb-brand-text {
                display: none;
            }
            .tnb-logo-img,
            .tnb-logo-svg {
                height: 22px;
                max-height: 24px;
            }
        }

        .tnl-btn--sample {
            border-color: rgba(48, 126, 255, 0.35) !important;
            background: rgba(48, 126, 255, 0.08) !important;
            color: rgba(255, 255, 255, 0.85) !important;
        }

        .tnl-btn--sample:hover {
            background: rgba(48, 126, 255, 0.18) !important;
            border-color: rgba(48, 126, 255, 0.6) !important;
            color: #ffffff !important;
        }

        /* ── Top Nav FX Switcher ── */
        .tnl-btn--fx {
            border-color: rgba(56, 189, 248, 0.35) !important;
            background: rgba(56, 189, 248, 0.09) !important;
            color: #38bdf8 !important;
            font-weight: 600 !important;
        }

        .tnl-btn--fx:hover {
            background: rgba(56, 189, 248, 0.20) !important;
            border-color: rgba(56, 189, 248, 0.65) !important;
            color: #ffffff !important;
            box-shadow: 0 0 12px rgba(56, 189, 248, 0.25) !important;
        }

        .tnl-btn--fx.swarm-mode {
            border-color: rgba(255, 255, 255, 0.20) !important;
            background: rgba(255, 255, 255, 0.06) !important;
            color: rgba(255, 255, 255, 0.85) !important;
        }

        .tnl-btn--fx.swarm-mode:hover {
            background: rgba(255, 255, 255, 0.12) !important;
            border-color: rgba(255, 255, 255, 0.40) !important;
            color: #ffffff !important;
            box-shadow: 0 0 12px rgba(255, 255, 255, 0.18) !important;
        }

        /* ── 4. SECONDARY INPUTS — the command deck ─────────────── */
        #secondary-inputs {
            margin-top: 0;
            background: rgba(255, 255, 255, 0.001);
            border: 1px solid rgba(255, 255, 255, 0.0);
            border-radius: 20px;
            overflow: hidden;
            backdrop-filter: blur(32px);
            -webkit-backdrop-filter: blur(32px);
        }

        #secondary-inputs.revealed {
            background: transparent !important;
            border: 1px solid rgba(255, 255, 255, 0.0) !important;
        }

        /* Thin rule between form sections */
        .form-section {
            background: transparent !important;
            border: none !important;
            border-top: 1px solid rgba(255, 255, 255, 0.055) !important;
            border-radius: 0 !important;
            padding: 20px 20px !important;
            margin: 0 !important;
            box-shadow: none !important;
        }

        /* Bottom border only on the last visible form-section */
        #email-key-section {
            border-bottom: none !important;
        }

        /* Section label — uppercase track */
        .section-label {
            font-size: 10px !important;
            font-weight: 700 !important;
            letter-spacing: 0.14em !important;
            text-transform: uppercase !important;
            color: rgba(255, 255, 255, 0.22) !important;
            margin-bottom: 10px !important;
            margin-top: 0 !important;
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
        }

        .section-label::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), transparent);
        }

        /* Email + key grid layout */
        #email-key-section {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 16px !important;
            align-items: start !important;
        }

        /* Mode/model row */
        .mode-model-row {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 20px !important;
            align-items: start !important;
        }

        .mode-model-col {
            display: flex;
            flex-direction: column;
            gap: 6px;
            min-width: 0;
        }

        /* Mode cards - Global Frosted Glass Definition */
        .mode-card {
            background: linear-gradient(145deg, rgba(255, 255, 255, 0.055) 0%, rgba(255, 255, 255, 0.015) 50%, rgba(255, 255, 255, 0.035) 100%) !important;
            border: 1px solid rgba(255, 255, 255, 0.12) !important;
            border-radius: 11px !important;
            padding: 12px 14px !important;
            backdrop-filter: blur(16px) saturate(180%) !important;
            -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
            box-shadow: 
                inset 0 1px 1px 0 rgba(255, 255, 255, 0.24),
                inset 0 0 0 1px rgba(255, 255, 255, 0.04),
                0 4px 14px rgba(0, 0, 0, 0.32) !important;
            transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
            position: relative;
        }

        .mode-card:hover:not(.disabled) {
            border-color: rgba(255, 255, 255, 0.28) !important;
            background: linear-gradient(145deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.035) 50%, rgba(255, 255, 255, 0.065) 100%) !important;
            transform: translateY(-2px);
            box-shadow: 
                inset 0 1px 1.5px 0 rgba(255, 255, 255, 0.38),
                inset 0 0 0 1px rgba(255, 255, 255, 0.08),
                0 8px 24px rgba(0, 0, 0, 0.42),
                0 0 14px rgba(255, 255, 255, 0.08) !important;
        }

        /* Selected: luminous optical prism with accent highlight */
        .mode-card.selected {
            background: linear-gradient(145deg, 
                rgba(255, 255, 255, 0.11) 0%, 
                rgba(var(--ui-accent-rgb, 56, 189, 248), 0.09) 45%, 
                rgba(255, 255, 255, 0.035) 100%) !important;
            border-color: rgba(var(--ui-accent-rgb, 56, 189, 248), 0.46) !important;
            box-shadow: 
                inset 0 1px 1.5px 0 rgba(255, 255, 255, 0.50),
                inset 0 0 18px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.16),
                0 6px 20px rgba(0, 0, 0, 0.42),
                0 0 16px rgba(var(--ui-accent-rgb, 56, 189, 248), 0.22) !important;
        }

        .mode-card.selected .mode-title {
            color: #ffffff;
        }

        .mode-card.disabled {
            opacity: 0.45 !important;
            cursor: not-allowed !important;
            box-shadow: none !important;
        }

        .mode-title {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 6px;
            font-size: 12px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.78);
            letter-spacing: 0.01em;
            text-transform: uppercase;
        }

        .mode-tags {
            display: flex;
            align-items: center;
            gap: 4px;
            flex-shrink: 0;
        }

        .mode-desc {
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.28);
            line-height: 1.45;
            margin-top: 4px;
        }

        /* Mode tag variants */
        .mode-tag {
            display: inline-block;
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.1em;
            padding: 2px 6px;
            border-radius: 4px;
            text-transform: uppercase;
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.32);
            line-height: 1.4;
        }

        .mode-tag.pro {
            background: rgba(48, 126, 255, 0.12);
            border: 1px solid rgba(48, 126, 255, 0.30);
            color: rgba(48, 126, 255, 0.9);
        }

        .mode-tag.new {
            background: rgba(8, 209, 129, 0.10);
            border: 1px solid rgba(8, 209, 129, 0.28);
            color: rgba(8, 209, 129, 0.85);
        }

        .mode-tag.recommended {
            background: rgba(8, 209, 129, 0.12);
            border: 1px solid rgba(8, 209, 129, 0.30);
            color: #08d181;
        }

        .mode-tag.premium {
            background: rgba(200, 150, 255, 0.1);
            color: rgba(200, 150, 255, 0.75);
        }

        .mode-tag.experimental {
            background: rgba(216, 188, 77, 0.12);
            border: 1px solid rgba(216, 188, 77, 0.30);
            color: rgba(216, 188, 77, 0.9);
        }

        .mode-tag.disabled {
            opacity: 0.4;
        }

        /* Mode grid — single column per col */
        .mode-grid {
            display: flex !important;
            flex-direction: column !important;
            gap: 5px !important;
            margin-bottom: 0 !important;
        }

        /* Dimension pills */
        .lc-dim-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 4px;
            margin-top: 8px;
        }

        /* Per-dimension color palette */
        :root {
            --dim-moat: 190, 110, 255;
            /* violet */
            --dim-wealth: 255, 170, 60;
            /* amber  */
            --dim-valuation: 80, 210, 130;
            /* emerald*/
            --dim-peers: 80, 165, 255;
            /* sky    */
            --dim-ai: 255, 90, 120;
            /* rose   */
            --dim-capital: 255, 210, 50;
            /* gold   */
            --dim-alignment: 60, 210, 200;
            /* cyan   */
            --dim-catalysts: 255, 135, 60;
            /* orange */
            --dim-macro: 160, 140, 255;
            /* lavender*/
        }

        .lc-dim-pill {
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.65);
            background: rgba(var(--ui-accent-rgb), 0.06);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.12);
            border-radius: 5px;
            padding: 4px 5px;
            text-align: center;
            line-height: 1.25;
            transition: background 0.15s, color 0.15s;
        }

        /* Individual dimension colors — ordered as: Moat, Wealth, Valuation, Peers, AI Risk, Capital, Alignment, Catalysts, Macro */
        .lc-dim-pill:nth-child(1) {
            color: rgba(var(--dim-moat), 0.85);
            background: rgba(var(--dim-moat), 0.08);
            border-color: rgba(var(--dim-moat), 0.20);
        }

        .lc-dim-pill:nth-child(2) {
            color: rgba(var(--dim-wealth), 0.85);
            background: rgba(var(--dim-wealth), 0.08);
            border-color: rgba(var(--dim-wealth), 0.20);
        }

        .lc-dim-pill:nth-child(3) {
            color: rgba(var(--dim-valuation), 0.85);
            background: rgba(var(--dim-valuation), 0.08);
            border-color: rgba(var(--dim-valuation), 0.20);
        }

        .lc-dim-pill:nth-child(4) {
            color: rgba(var(--dim-peers), 0.85);
            background: rgba(var(--dim-peers), 0.08);
            border-color: rgba(var(--dim-peers), 0.20);
        }

        .lc-dim-pill:nth-child(5) {
            color: rgba(var(--dim-ai), 0.85);
            background: rgba(var(--dim-ai), 0.08);
            border-color: rgba(var(--dim-ai), 0.20);
        }

        .lc-dim-pill:nth-child(6) {
            color: rgba(var(--dim-capital), 0.85);
            background: rgba(var(--dim-capital), 0.08);
            border-color: rgba(var(--dim-capital), 0.20);
        }

        .lc-dim-pill:nth-child(7) {
            color: rgba(var(--dim-alignment), 0.85);
            background: rgba(var(--dim-alignment), 0.08);
            border-color: rgba(var(--dim-alignment), 0.20);
        }

        .lc-dim-pill:nth-child(8) {
            color: rgba(var(--dim-catalysts), 0.85);
            background: rgba(var(--dim-catalysts), 0.08);
            border-color: rgba(var(--dim-catalysts), 0.20);
        }

        .lc-dim-pill:nth-child(9) {
            color: rgba(var(--dim-macro), 0.85);
            background: rgba(var(--dim-macro), 0.08);
            border-color: rgba(var(--dim-macro), 0.20);
        }

        /* Expand extra buttons */
        .expand-extra-btn {
            display: inline-flex !important;
            align-items: center;
            gap: 5px;
            font-size: 10px;
            font-weight: 600;
            font-style: italic;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.28);
            background: transparent;
            border: none;
            padding: 8px 0 0;
            cursor: pointer;
            text-transform: uppercase;
            transition: color 0.15s;
        }

        .expand-extra-btn:hover {
            color: rgba(var(--ui-accent-rgb), 0.75);
        }

        /* ── 5. SUBSCRIBER WIDGET ────────────────────────────────── */
        .subscriber-login {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 10px;
            margin: 4px 0;
            overflow: hidden;
        }

        .sl-header {
            padding: 12px 16px;
            background: transparent;
            cursor: pointer;
        }

        .sl-header-title {
            font-size: 12px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.5);
        }

        .sl-header-sub {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.22);
            margin-top: 1px;
        }

        /* ── 6. TEXT INPUTS (email / access key) ─────────────────── */
        .text-input {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 10px;
            color: rgba(255, 255, 255, 0.85);
            font-size: 13px;
            font-family: 'Inter', -apple-system, sans-serif;
            padding: 11px 14px;
            width: 100%;
            box-sizing: border-box;
            transition: border-color 0.15s, box-shadow 0.15s;
        }

        .text-input:focus {
            outline: none;
            border-color: rgba(48, 126, 255, 0.45);
            box-shadow: 0 0 0 3px rgba(48, 126, 255, 0.07);
        }

        .text-input::placeholder {
            color: rgba(255, 255, 255, 0.18);
        }

        /* ── 7. SUBMIT BUTTON ────────────────────────────────────── */
        .submit-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            width: 100%;
            margin-top: 20px;
            padding: 14px 20px;
            background: linear-gradient(135deg, hsl(240 100% 70%), hsl(180 100% 65%), hsl(240 100% 58%));
            background-size: 200% 200%;
            animation: gradient-drift 8s ease infinite;
            border: none;
            border-radius: 6px;
            color: #000;
            font-family: var(--header-font);
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            cursor: pointer;
            position: relative;
            overflow: hidden;
            transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), animation-duration 0.3s ease;
            box-shadow: 0 0 40px hsla(200, 100%, 60%, 0.18), 0 4px 20px rgba(0, 0, 0, 0.3);
            text-align: center;
        }

        .submit-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 55%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
            pointer-events: none;
            animation: cta-shimmer 3.5s ease-in-out infinite;
        }

        .submit-btn::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 14px;
            background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
            opacity: 0;
            transition: opacity 0.3s ease;
            pointer-events: none;
        }

        .submit-btn:hover:not(.loading) {
            transform: translateY(-2px) scale(1.01);
            animation-duration: 2s;
            box-shadow: 0 0 70px hsla(200, 100%, 65%, 0.40), 0 0 30px hsla(260, 100%, 70%, 0.22), 0 8px 28px rgba(0, 0, 0, 0.35);
        }

        .submit-btn:hover::after {
            opacity: 1;
        }

        .submit-btn:hover::before {
            animation-duration: 1.2s;
        }

        .submit-btn:active {
            transform: translateY(1px) scale(0.995);
            opacity: 0.9;
        }

        .submit-btn.loading {
            opacity: 0.7;
            cursor: not-allowed;
        }

        .price-tag {
            display: inline-block;
            margin-left: 6px;
            font-size: 10px;
            font-weight: 700;
            padding: 3px 10px;
            border-radius: 100px;
            background: rgba(0, 0, 0, 0.25);
            color: rgba(0, 0, 0, 0.65);
            vertical-align: middle;
            letter-spacing: 0.04em;
        }

        /* ── 8. PRICING NUDGE (Legacy: hidden, superseded by Unified Commercial Bar) ── */
        .pricing-nudge,
        .pricing-nudge:empty {
            display: none !important;
            padding: 0 !important;
            border: none !important;
            margin: 0 !important;
            height: 0 !important;
            min-height: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
        }

        .pricing-nudge-option {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 0 24px;
            flex: 1;
        }

        .pricing-nudge-label {
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.60);
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .pricing-nudge-detail {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.28);
            margin-top: 3px;
            letter-spacing: 0.02em;
        }

        .pricing-nudge-link {
            font-size: 10px;
            font-weight: 600;
            color: #307eff;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            margin-top: 3px;
            letter-spacing: 0.02em;
            transition: color 0.15s;
        }

        .pricing-nudge-link:hover {
            color: rgba(48, 126, 255, 0.75);
        }

        .pricing-nudge-link svg {
            flex-shrink: 0;
        }

        .pricing-nudge-divider {
            display: flex;
            align-items: center;
            padding: 0 8px;
            flex-shrink: 0;
        }

        .pricing-nudge-or {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 8.5px;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.18);
            white-space: nowrap;
            position: static;
            transform: none;
            background: none;
            padding: 0;
        }

        .pricing-nudge-or::before,
        .pricing-nudge-or::after {
            content: '';
            display: block !important;
            position: static !important;
            width: 18px;
            height: 1px;
            background: rgba(255, 255, 255, 0.10);
            transform: none !important;
            left: auto !important;
            bottom: auto !important;
            top: auto !important;
            margin: 0 !important;
        }

        /* ── 9. SECTION TITLES ───────────────────────────────────── */
        h2.lc-section-title,
        .lc-section-title {
            font-family: 'Inter', -apple-system, sans-serif;
            font-size: clamp(24px, 3.5vw, 36px);
            font-weight: 900;
            letter-spacing: -0.03em;
            line-height: 1.05;
            color: #e8ecec;
            -webkit-text-fill-color: #e8ecec;
            text-shadow: none;
            margin: 8px 0 24px;
            padding: 0;
            /* Reset browser h2 block margins */
            margin-block-start: 0;
            margin-block-end: 0;
        }

        /* Body text that follows a section title */
        .portfolio-showcase-text {
            font-size: 14px;
            line-height: 1.82;
            color: rgba(255, 255, 255, 0.42);
            margin-bottom: 14px;
            margin-top: 0;
        }

        .portfolio-showcase-text:first-of-type {
            margin-top: 4px;
        }

        .portfolio-showcase-text strong {
            color: rgba(255, 255, 255, 0.72);
            font-weight: 700;
        }

        /* ── 10. BOTTOM SECTIONS — outer padding to match column ─── */
        /* All bottom sections are outside .main-container so need their own horizontal padding */
        .recent-reports-showcase,
        .portfolio-showcase-section,
        .newsletter-showcase-section,
        .credibility-section,
        .faq-section,
        .infrastructure-footer,
        .footer-note,
        .admin-lookup,
        .footer-contact-row {
            width: 100%;
            max-width: 920px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 24px;
            padding-right: 24px;
            box-sizing: border-box;
        }

        /* ── 11. RECENT REPORTS ──────────────────────────────────── */
        .recent-reports-showcase {
            border: none;
            border-radius: 0;
            background: transparent;
            padding-top: 32px;
            padding-bottom: 0;
        }

        /* Eyebrow in recent-reports row needs spacing below */
        .recent-reports-showcase .lc-rr-title-row {
            margin-bottom: 4px;
        }

        /* "View All Reports" CTA in recent-reports section */
        .recent-reports-showcase .portfolio-showcase-cta {
            margin-top: 20px;
            padding-bottom: 8px;
        }

        .newsletter-showcase-eyebrow {
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.55);
            margin-bottom: 0;
            text-align: left;
            background: none !important;
            border: none !important;
            padding: 0 !important;
            display: block;
        }

        #recent-reports-container {
            margin-top: 20px;
        }

        .lc-rr-title-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        #rr-showcase-refresh-btn {
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.32);
            width: 26px;
            height: 26px;
            border-radius: 7px;
            font-size: 14px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color 0.15s, color 0.15s;
            position: static !important;
            flex-shrink: 0;
        }

        #rr-showcase-refresh-btn:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            color: rgba(var(--ui-accent-rgb), 0.75);
        }

        .rr-search-wrap {
            background: transparent !important;
            border: 1px solid rgba(255, 255, 255, 0.08) !important;
            border-radius: 10px !important;
            padding: 8px 12px !important;
        }

        .rr-search-input {
            background: transparent;
            color: rgba(255, 255, 255, 0.7);
            font-size: 12px;
        }

        /* Report cards — editorial minimal */
        .rr-report-card,
        .rr-card {
            background: transparent !important;
            border: none !important;
            border-top: 1px solid rgba(255, 255, 255, 0.055) !important;
            border-radius: 0 !important;
            padding: 14px 0 !important;
            box-shadow: none !important;
            transition: none !important;
        }

        .rr-report-card:hover,
        .rr-card:hover {
            background: transparent !important;
            transform: none !important;
            box-shadow: none !important;
        }

        /* ── Recent Reports Ghost Cards ── */
        .rr-ghost-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
            gap: 20px;
            margin: 5px 0 5px;
        }

        .rr-ghost-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 20px;
            padding: 15px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .rr-ghost-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

        .rr-ghost-company {
            height: 18px;
            width: 55%;
            border-radius: 6px;
        }

        .rr-ghost-date {
            height: 10px;
            width: 35%;
            border-radius: 5px;
            margin-top: 8px;
        }

        .rr-ghost-badge {
            height: 22px;
            width: 72px;
            border-radius: 99px;
        }

        .rr-ghost-thesis-1 {
            height: 12px;
            width: 100%;
            border-radius: 5px;
        }

        .rr-ghost-thesis-2 {
            height: 12px;
            width: 75%;
            border-radius: 5px;
        }

        .rr-ghost-spark {
            height: 32px;
            width: 100%;
            border-radius: 6px;
            margin-top: 4px;
        }

        .rr-ghost-bar-row {
            display: flex;
            flex-direction: column;
            gap: 8px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            padding-top: 14px;
        }

        .rr-ghost-bar {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .rr-ghost-bar-label {
            height: 9px;
            width: 68px;
            border-radius: 4px;
            flex-shrink: 0;
        }

        .rr-ghost-bar-track {
            flex: 1;
            height: 3px;
            border-radius: 3px;
        }

        .rr-ghost-bar-num {
            height: 9px;
            width: 14px;
            border-radius: 3px;
            flex-shrink: 0;
        }

        .rr-ghost-xps {
            height: 18px;
            width: 90%;
            border-radius: 6px;
        }

        .rr-ghost-cta {
            height: 13px;
            width: 110px;
            border-radius: 5px;
            margin-top: 4px;
        }

        /* Staggered entrance delay per card */
        .rr-ghost-card:nth-child(1) {
            animation-delay: 0s, 0s;
        }

        .rr-ghost-card:nth-child(2) {
            animation-delay: 0.06s, 0s;
        }

        .rr-ghost-card:nth-child(3) {
            animation-delay: 0.12s, 0s;
        }

        .rr-ghost-card:nth-child(4) {
            animation-delay: 0.18s, 0s;
        }

        /* ── 12. PORTFOLIO SECTION ───────────────────────────────── */
        .portfolio-showcase-section {
            border: none;
            border-top: 1px solid rgba(255, 255, 255, 0.055);
            border-radius: 0;
            background: transparent;
            padding-top: 56px;
            padding-bottom: 56px;
        }

        .portfolio-showcase-content {
            margin-top: 0;
        }

        .portfolio-showcase-cta {
            margin-top: 28px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .portfolio-cta-btn {
            display: inline-flex;
            align-items: center;
            padding: 10px 18px;
            background: transparent !important;
            border: 1px solid rgba(255, 255, 255, 0.12) !important;
            border-radius: 9px;
            color: rgba(255, 255, 255, 0.55);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            text-decoration: none;
            transition: border-color 0.15s, color 0.15s, background 0.15s;
            white-space: nowrap;
        }

        .portfolio-cta-btn:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.4) !important;
            color: rgba(var(--ui-accent-rgb), 0.85);
            background: rgba(var(--ui-accent-rgb), 0.05) !important;
        }

        /* ── 13. NEWSLETTER SECTION ──────────────────────────────── */
        .newsletter-showcase-section {
            border: none;
            border-top: 1px solid rgba(255, 255, 255, 0.055);
            border-radius: 0;
            background: transparent;
            padding-top: 56px;
            padding-bottom: 56px;
        }

        .newsletter-feature-row {
            display: flex;
            flex-wrap: wrap;
            gap: 7px;
            margin-top: 22px;
        }

        .newsletter-feature-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 12px;
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 100px;
            font-size: 11px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.38);
            transition: border-color 0.15s, color 0.15s;
            white-space: nowrap;
        }

        .newsletter-feature-chip:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.3);
            color: rgba(255, 255, 255, 0.65);
        }

        .chip-icon {
            font-size: 13px;
            line-height: 1;
        }

        /* ── 14. CREDIBILITY / TESTIMONIALS ──────────────────────── */
        .credibility-section {
            position: relative !important;
            z-index: 2 !important;
            border-top: 1px solid rgba(255, 255, 255, 0.09);
            padding-top: 40px;
            padding-bottom: 32px;
            background: transparent;
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 12px !important;
            margin-top: 0 !important;
            max-width: 760px !important;
            width: 100% !important;
        }

        /* FAQ section — same stacking context as credibility section */
        .faq-section {
            position: relative !important;
            z-index: 2 !important;
            max-width: 760px !important;
            width: 100% !important;
        }

        .testi-item {
            position: relative !important;
            z-index: 2 !important;
            padding: 22px 24px !important;
            border-radius: 12px !important;
            background: rgba(255, 255, 255, 0.03) !important;
            border: 1px solid rgba(255, 255, 255, 0.06) !important;
            border-left: 2px solid rgba(255, 255, 255, 0.12) !important;
            border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.20) !important;
            text-align: left !important;
            backdrop-filter: blur(12px) !important;
            -webkit-backdrop-filter: blur(12px) !important;
            transition: background 0.15s, border-color 0.15s !important;
        }

        .testi-item:nth-child(1),
        .testi-item:nth-child(2) {
            border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
            padding-top: 22px !important;
        }

        .testi-item:nth-child(odd) {
            padding-right: 24px !important;
        }

        .testi-item:nth-child(even) {
            padding-left: 24px !important;
        }

        .testi-item:hover {
            background: rgba(255, 255, 255, 0.05) !important;
            border-color: rgba(255, 255, 255, 0.10) !important;
            border-left-color: rgba(255, 255, 255, 0.18) !important;
            transform: none !important;
        }

        .testi-company {
            font-size: 9px !important;
            font-weight: 700 !important;
            letter-spacing: 0.18em !important;
            text-transform: uppercase !important;
            color: rgba(255, 255, 255, 0.28) !important;
            margin-bottom: 10px !important;
            opacity: 1 !important;
            display: block !important;
        }

        .testi-quote {
            font-size: 13px !important;
            line-height: 1.65 !important;
            color: rgba(255, 255, 255, 0.38) !important;
            font-style: italic !important;
            display: block !important;
        }

        /* ── 15. ROBO IMAGE ──────────────────────────────────────── */
        .robo-img-wrap {
            max-width: 760px;
            margin: 16px auto 0;
            padding: 0 24px;
            box-sizing: border-box;
            display: flex;
            justify-content: center;
        }

        .robo-img {
            width: 88px !important;
            height: auto !important;
            max-width: 88px !important;
            max-height: none !important;
            opacity: 0.45;
            filter: drop-shadow(0 0 18px rgba(var(--ui-accent-rgb), 0.28));
            display: block;
            object-fit: contain;
        }

        /* ── 16. FOOTER ──────────────────────────────────────────── */
        .footer-note {
            text-align: center;
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.12);
            padding-top: 10px;
            padding-bottom: 4px;
            border-top: none;
            margin-top: 0;
        }

        .footer-contact-link,
        .footer-contact-link a {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 0;
            border-radius: 0;
            background: none;
            border: none;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.5);
            text-decoration: none;
            font-family: inherit;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            font-weight: 500;
            transition: color 0.2s;
        }

        .footer-contact-link:hover,
        .footer-contact-link a:hover {
            color: rgba(var(--ui-accent-rgb), 0.55);
            background: none;
            border: none;
        }

        /* ── 17. ADMIN SECTION ───────────────────────────────────── */
        .admin-lookup {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 4px;
            padding-top: 20px;
            padding-bottom: 0;
            flex-wrap: wrap;
        }

        /* Admin buttons: developer & theme tools */
        .admin-lookup .recent-reports-btn {
            padding: 4px 10px !important;
            border-radius: 999px !important;
            border: 1px solid rgba(255, 255, 255, 0.10) !important;
            background: rgba(255, 255, 255, 0.04) !important;
            color: rgba(255, 255, 255, 0.50) !important;
            font-size: 8.5px !important;
            letter-spacing: 0.08em !important;
            text-transform: uppercase !important;
            cursor: pointer !important;
            font-family: inherit !important;
            font-weight: 600 !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            transition: all 0.2s ease !important;
            margin-left: 0 !important;
            box-shadow: none !important;
        }

        .admin-lookup .recent-reports-btn:hover {
            color: rgba(255, 255, 255, 0.90) !important;
            border-color: rgba(255, 255, 255, 0.25) !important;
            background: rgba(255, 255, 255, 0.08) !important;
        }

        /* ── 18. FOOTER CONTACT ROW ─────────────────────────────── */
        .footer-contact-row {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 0;
            padding-top: 6px;
            padding-bottom: 36px;
        }

        /* ── 19. MOBILE RESPONSIVE ───────────────────────────────── */
        @media (max-width: 640px) {
            .main-container {
                padding: 0 14px 40px;
            }

            #setup-view {
                padding-top: 52px;
            }

            h1.landing-aurora-title.kinetic-title {
                font-size: 28px;
                letter-spacing: -0.03em;
                line-height: 1.08;
            }

            p.subtitle {
                margin-bottom: 32px;
            }

            .subtitle-main {
                font-size: 15px;
            }

            /* Hero logo smaller on mobile */
            .lc-hero-logo,
            .lc-hero-logo-svg {
                height: 32px;
                max-height: 34px;
            }

            /* Version badge tighter */
            .lc-version-wrap {
                margin-bottom: 20px;
            }

            /* Company input — 16px to prevent iOS Safari auto-zoom */
            #ticker-input {
                font-size: 16px !important;
                padding: 14px 14px;
                min-width: 0 !important;
            }

            #ticker-input::placeholder {
                font-size: 13px;
            }

            /* Form inputs — 16px minimum prevents iOS Safari auto-zoom */
            .text-input,
            .sl-input,
            .search-input {
                font-size: 16px !important;
            }

            .company-input-wrapper {
                padding: 6px 14px 6px 42px !important;
                min-height: 48px !important;
                max-width: 100% !important;
            }

            /* Attribution tags — wrap tightly, smaller */
            .attribution-container {
                gap: 1px !important;
                margin-bottom: 20px !important;
            }

            .attribution-tag {
                font-size: 8.5px;
                padding: 2px 8px 2px 6px;
            }

            /* Form sections tighter */
            .form-section {
                padding: 16px 0 !important;
            }

            .mode-model-row {
                grid-template-columns: 1fr !important;
                gap: 12px !important;
            }

            /* Credibility cards — single column on mobile */
            .credibility-section {
                grid-template-columns: 1fr !important;
                gap: 10px !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
            }

            /* Remove the odd/even side-padding on mobile single column */
            .testi-item:nth-child(odd),
            .testi-item:nth-child(even) {
                padding-right: 16px !important;
                padding-left: 16px !important;
                border-right: none !important;
                border-left: none !important;
            }

            #email-key-section {
                grid-template-columns: 1fr !important;
                gap: 12px !important;
            }

            /* Submit button full width & comfortable touch target */
            .submit-btn {
                width: 100% !important;
                font-size: 13px !important;
                letter-spacing: 0.12em !important;
                padding: 12px 20px !important;
                min-height: 48px !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
            }

            /* Pricing nudge — stack vertically */
            .pricing-nudge {
                flex-direction: column !important;
                gap: 0 !important;
                padding: 0 !important;
                background: none !important;
                border: none !important;
                box-shadow: none !important;
            }

            .pricing-nudge-option {
                padding: 10px 0 !important;
            }

            .pricing-nudge-divider {
                display: none !important;
            }

            .recent-reports-showcase,
            .portfolio-showcase-section,
            .newsletter-showcase-section,
            .credibility-section,
            .footer-note,
            .admin-lookup,
            .footer-contact-row,
            .robo-img-wrap {
                padding-left: 16px;
                padding-right: 16px;
            }

            /* Dim pills grid — 3 col is fine, ensure wrapping */
            .lc-dim-grid {
                gap: 5px !important;
            }

            .lc-dim-pill {
                font-size: 9px !important;
                padding: 3px 7px !important;
            }

            /* Mode tags don't overflow */
            .mode-tags {
                flex-wrap: wrap;
                gap: 3px;
            }

            .mode-tag {
                font-size: 8px !important;
                padding: 1px 5px !important;
            }

            /* Section label smaller on mobile */
            .section-label {
                font-size: 10px !important;
                letter-spacing: 0.08em !important;
            }
        }

        /* ── 20. NOISE / BG ──────────────────────────────────────── */
        #bg-noise {
            opacity: 0.28;
        }

        /* Remove brutalist grid */
        .fp-brutalist-grid {
            display: none !important;
        }

/* ── Extracted Style Block #3 ── */
/* alpha-badge hover */
        .alpha-badge:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            box-shadow: 0 0 20px rgba(var(--ui-accent-rgb), 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        }

        /* heartbeat dot */
        .heartbeat {
            background: var(--ui-accent);
            box-shadow: 0 0 8px rgba(var(--ui-accent-rgb), 0.7);
        }

        /* noise bg gold orb */
        #bg-noise {
            background:
                radial-gradient(ellipse 55% 45% at 85% 75%, rgba(var(--ui-accent-rgb), 0.09) 0%, transparent 0%),
                radial-gradient(ellipse 60% 50% at 10% 20%, rgba(70, 90, 120, 0.12) 0%, transparent 0%),
                radial-gradient(ellipse 40% 35% at 50% 100%, rgba(var(--ui-accent-rgb), 0.05) 0%, transparent 0%);
        }

        /* company-input-wrapper focus */
        .company-input-wrapper:focus-within {
            border-color: rgba(var(--ui-accent-rgb), 0.45);
            box-shadow: 0 0 0 3px rgba(var(--ui-accent-rgb), 0.08), 0 0 40px rgba(var(--ui-accent-rgb), 0.14), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
        }

        /* checkbox-card checked */
        .checkbox-card.checked {
            background: rgba(var(--ui-accent-rgb), 0.05);
            border-color: rgba(var(--ui-accent-rgb), 0.25);
            box-shadow: inset 0 1px 0 rgba(var(--ui-accent-rgb), 0.1), 0 4px 16px rgba(0, 0, 0, 0.3);
        }

        /* icon-placeholder checked */
        .checkbox-card.checked .icon-placeholder {
            color: rgba(var(--ui-accent-rgb), 0.9);
            background: rgba(var(--ui-accent-rgb), 0.1);
            border-color: rgba(var(--ui-accent-rgb), 0.25);
        }

        /* check-circle checked */
        .checkbox-card.checked .check-circle {
            background: rgba(var(--ui-accent-rgb), 0.15);
            border-color: rgba(var(--ui-accent-rgb), 0.6);
            box-shadow: 0 0 0 3px rgba(var(--ui-accent-rgb), 0.08);
        }

        .check-circle::after {
            border-left-color: rgba(var(--ui-accent-rgb), 0.7);
            border-bottom-color: rgba(var(--ui-accent-rgb), 0.7);
        }

        .checkbox-card.checked .check-circle::after {
            border-color: var(--ui-accent);
        }

        /* price-tag */
        .price-tag {
            background: color-mix(in srgb, var(--ui-accent) 25%, #000);
            color: color-mix(in srgb, var(--ui-accent) 50%, #fff);
        }

        /* mini-tag done — per-dimension colors, never accent */
        .mini-tag.done {
            color: rgba(255, 255, 255, 0.55);
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.2);
            box-shadow: none;
        }

        .mini-tag.done[data-dim="moat"] {
            color: rgb(190, 110, 255);
            background: rgba(190, 110, 255, 0.12);
            border-color: rgba(190, 110, 255, 0.35);
            box-shadow: 0 0 10px rgba(190, 110, 255, 0.18);
        }

        .mini-tag.done[data-dim="wealth"] {
            color: rgb(255, 170, 60);
            background: rgba(255, 170, 60, 0.12);
            border-color: rgba(255, 170, 60, 0.35);
            box-shadow: 0 0 10px rgba(255, 170, 60, 0.18);
        }

        .mini-tag.done[data-dim="valuation"] {
            color: rgb(80, 210, 130);
            background: rgba(80, 210, 130, 0.12);
            border-color: rgba(80, 210, 130, 0.35);
            box-shadow: 0 0 10px rgba(80, 210, 130, 0.18);
        }

        .mini-tag.done[data-dim="peer"] {
            color: rgb(80, 165, 255);
            background: rgba(80, 165, 255, 0.12);
            border-color: rgba(80, 165, 255, 0.35);
            box-shadow: 0 0 10px rgba(80, 165, 255, 0.18);
        }

        .mini-tag.done[data-dim="ai"] {
            color: rgb(255, 90, 120);
            background: rgba(255, 90, 120, 0.12);
            border-color: rgba(255, 90, 120, 0.35);
            box-shadow: 0 0 10px rgba(255, 90, 120, 0.18);
        }

        .mini-tag.done[data-dim="capital"] {
            color: rgb(255, 210, 50);
            background: rgba(255, 210, 50, 0.12);
            border-color: rgba(255, 210, 50, 0.35);
            box-shadow: 0 0 10px rgba(255, 210, 50, 0.18);
        }

        .mini-tag.done[data-dim="alignment"] {
            color: rgb(60, 210, 200);
            background: rgba(60, 210, 200, 0.12);
            border-color: rgba(60, 210, 200, 0.35);
            box-shadow: 0 0 10px rgba(60, 210, 200, 0.18);
        }

        .mini-tag.done[data-dim="catalyst"] {
            color: rgb(255, 135, 60);
            background: rgba(255, 135, 60, 0.12);
            border-color: rgba(255, 135, 60, 0.35);
            box-shadow: 0 0 10px rgba(255, 135, 60, 0.18);
        }

        .mini-tag.done[data-dim="macro"] {
            color: rgb(160, 140, 255);
            background: rgba(160, 140, 255, 0.12);
            border-color: rgba(160, 140, 255, 0.35);
            box-shadow: 0 0 10px rgba(160, 140, 255, 0.18);
        }

        .mini-tag.done[data-dim="beta_quant"] {
            color: rgb(0, 200, 180);
            background: rgba(0, 200, 180, 0.12);
            border-color: rgba(0, 200, 180, 0.35);
            box-shadow: 0 0 10px rgba(0, 200, 180, 0.18);
        }

        .mini-tag.done[data-dim="beta_qual"] {
            color: rgb(120, 180, 255);
            background: rgba(120, 180, 255, 0.12);
            border-color: rgba(120, 180, 255, 0.35);
            box-shadow: 0 0 10px rgba(120, 180, 255, 0.18);
        }

        .mini-tag.done[data-dim="beta_gov"] {
            color: rgb(200, 160, 80);
            background: rgba(200, 160, 80, 0.12);
            border-color: rgba(200, 160, 80, 0.35);
            box-shadow: 0 0 10px rgba(200, 160, 80, 0.18);
        }

        .mini-tag.done[data-dim="beta_insider"] {
            color: rgb(220, 100, 180);
            background: rgba(220, 100, 180, 0.12);
            border-color: rgba(220, 100, 180, 0.35);
            box-shadow: 0 0 10px rgba(220, 100, 180, 0.18);
        }

        .mini-tag.done[data-dim="beta_market"] {
            color: rgb(100, 220, 140);
            background: rgba(100, 220, 140, 0.12);
            border-color: rgba(100, 220, 140, 0.35);
            box-shadow: 0 0 10px rgba(100, 220, 140, 0.18);
        }

        /* progress-chip done — per-dimension colors, never accent */
        .progress-chip.done {
            color: rgba(255, 255, 255, 0.55);
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(255, 255, 255, 0.18);
            box-shadow: none;
        }

        .progress-chip.done[data-dim="moat"] {
            color: rgb(190, 110, 255);
            background: rgba(190, 110, 255, 0.10);
            border-color: rgba(190, 110, 255, 0.32);
            box-shadow: 0 0 14px rgba(190, 110, 255, 0.18);
        }

        .progress-chip.done[data-dim="wealth"] {
            color: rgb(255, 170, 60);
            background: rgba(255, 170, 60, 0.10);
            border-color: rgba(255, 170, 60, 0.32);
            box-shadow: 0 0 14px rgba(255, 170, 60, 0.18);
        }

        .progress-chip.done[data-dim="valuation"] {
            color: rgb(80, 210, 130);
            background: rgba(80, 210, 130, 0.10);
            border-color: rgba(80, 210, 130, 0.32);
            box-shadow: 0 0 14px rgba(80, 210, 130, 0.18);
        }

        .progress-chip.done[data-dim="peer"] {
            color: rgb(80, 165, 255);
            background: rgba(80, 165, 255, 0.10);
            border-color: rgba(80, 165, 255, 0.32);
            box-shadow: 0 0 14px rgba(80, 165, 255, 0.18);
        }

        .progress-chip.done[data-dim="ai"] {
            color: rgb(255, 90, 120);
            background: rgba(255, 90, 120, 0.10);
            border-color: rgba(255, 90, 120, 0.32);
            box-shadow: 0 0 14px rgba(255, 90, 120, 0.18);
        }

        .progress-chip.done[data-dim="capital"] {
            color: rgb(255, 210, 50);
            background: rgba(255, 210, 50, 0.10);
            border-color: rgba(255, 210, 50, 0.32);
            box-shadow: 0 0 14px rgba(255, 210, 50, 0.18);
        }

        .progress-chip.done[data-dim="alignment"] {
            color: rgb(60, 210, 200);
            background: rgba(60, 210, 200, 0.10);
            border-color: rgba(60, 210, 200, 0.32);
            box-shadow: 0 0 14px rgba(60, 210, 200, 0.18);
        }

        .progress-chip.done[data-dim="catalyst"] {
            color: rgb(255, 135, 60);
            background: rgba(255, 135, 60, 0.10);
            border-color: rgba(255, 135, 60, 0.32);
            box-shadow: 0 0 14px rgba(255, 135, 60, 0.18);
        }

        .progress-chip.done[data-dim="macro"] {
            color: rgb(160, 140, 255);
            background: rgba(160, 140, 255, 0.10);
            border-color: rgba(160, 140, 255, 0.32);
            box-shadow: 0 0 14px rgba(160, 140, 255, 0.18);
        }

        .progress-chip.done[data-dim="beta_quant"] {
            color: rgb(0, 200, 180);
            background: rgba(0, 200, 180, 0.10);
            border-color: rgba(0, 200, 180, 0.32);
            box-shadow: 0 0 14px rgba(0, 200, 180, 0.18);
        }

        .progress-chip.done[data-dim="beta_qual"] {
            color: rgb(120, 180, 255);
            background: rgba(120, 180, 255, 0.10);
            border-color: rgba(120, 180, 255, 0.32);
            box-shadow: 0 0 14px rgba(120, 180, 255, 0.18);
        }

        .progress-chip.done[data-dim="beta_gov"] {
            color: rgb(200, 160, 80);
            background: rgba(200, 160, 80, 0.10);
            border-color: rgba(200, 160, 80, 0.32);
            box-shadow: 0 0 14px rgba(200, 160, 80, 0.18);
        }

        .progress-chip.done[data-dim="beta_insider"] {
            color: rgb(220, 100, 180);
            background: rgba(220, 100, 180, 0.10);
            border-color: rgba(220, 100, 180, 0.32);
            box-shadow: 0 0 14px rgba(220, 100, 180, 0.18);
        }

        .progress-chip.done[data-dim="beta_market"] {
            color: rgb(100, 220, 140);
            background: rgba(100, 220, 140, 0.10);
            border-color: rgba(100, 220, 140, 0.32);
            box-shadow: 0 0 14px rgba(100, 220, 140, 0.18);
        }

        /* testi-item border */
        .testi-item {
            border-left-color: var(--ui-accent);
        }

        .testi-item:hover {
            border-left-color: var(--ui-accent);
        }

        /* Force credibility text visible regardless of base CSS */
        .testi-company {
            color: var(--ui-accent) !important;
            opacity: 1 !important;
        }

        .testi-quote {
            color: rgba(255, 255, 255, 0.78) !important;
        }

        /* company-meta-tag accent variants */
        .company-meta-tag.country {
            color: rgba(var(--ui-accent-rgb), 0.85);
            border-color: rgba(var(--ui-accent-rgb), 0.2);
            background: rgba(var(--ui-accent-rgb), 0.06);
        }

        .company-meta-tag.ipo {
            color: rgba(var(--ui-accent-rgb), 0.65);
            border-color: rgba(var(--ui-accent-rgb), 0.15);
            background: rgba(var(--ui-accent-rgb), 0.04);
        }

        /* Ticker selection modal */
        .result-item.selected {
            background: rgba(var(--ui-accent-rgb), 0.1);
            border-color: rgba(var(--ui-accent-rgb), 0.45);
        }

        .modal-btn-confirm {
            background: rgba(var(--ui-accent-rgb), 0.18);
            color: var(--ui-accent);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.35);
        }

        .modal-btn-confirm:hover {
            background: rgba(var(--ui-accent-rgb), 0.28);
            box-shadow: 0 0 18px rgba(var(--ui-accent-rgb), 0.25);
            border-color: rgba(var(--ui-accent-rgb), 0.55);
        }

        /* ── Terminal nav button ── */
        .tnl-btn--terminal {
            color: rgba(var(--ui-accent-rgb), 0.65);
            border-color: rgba(var(--ui-accent-rgb), 0.18);
        }

        .tnl-btn--terminal:hover {
            color: rgba(var(--ui-accent-rgb), 1);
            background: rgba(var(--ui-accent-rgb), 0.08);
            border-color: rgba(var(--ui-accent-rgb), 0.38);
        }

        /* ── Existing reports panel ── */
        #existing-reports-panel {
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.08);
        }

        .er-header.loading {
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.08);
            border-bottom-color: rgba(var(--ui-accent-rgb), 0.18);
        }

        .er-item-icon {
            background: rgba(var(--ui-accent-rgb), 0.10);
        }

        .er-verdict-STRONG-BUY {
            background: rgba(48, 126, 255, 0.16);
            color: var(--verdict-strong);
            border: 1px solid rgba(48, 126, 255, 0.28);
        }

        .er-verdict-BUY {
            background: rgba(8, 209, 129, 0.16);
            color: var(--verdict-buy);
            border: 1px solid rgba(8, 209, 129, 0.28);
        }

        .er-verdict-WATCHLIST {
            background: rgba(237, 209, 25, 0.12);
            color: var(--verdict-watch);
            border: 1px solid rgba(237, 209, 25, 0.22);
        }

        .er-verdict-AVOID {
            background: rgba(224, 122, 95, 0.12);
            color: var(--verdict-avoid);
            border: 1px solid rgba(224, 122, 95, 0.22);
        }

        .er-verdict-SHORT {
            background: rgba(195, 69, 61, 0.12);
            color: var(--verdict-short);
            border: 1px solid rgba(195, 69, 61, 0.22);
        }

        .er-new-report-btn {
            border-color: rgba(var(--ui-accent-rgb), 0.40);
            background: rgba(var(--ui-accent-rgb), 0.10);
            color: var(--ui-accent);
        }

        .er-new-report-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.22);
            border-color: rgba(var(--ui-accent-rgb), 0.65);
            color: #fff;
        }

        /* ── Subscriber forgot-password success ── */
        .sl-forgot-success {
            background: rgba(var(--ui-accent-rgb), 0.08);
            border-color: rgba(var(--ui-accent-rgb), 0.25);
        }

        /* ── CRT active button ── */
        #btn-crt.crt-active,
        #btn-bg.crt-active {
            background: rgba(var(--ui-accent-rgb), 0.15) !important;
            border-color: rgba(var(--ui-accent-rgb), 0.55) !important;
            color: var(--ui-accent) !important;
        }

        /* ── Background FX style toggle button ── */
        #btn-bg-style {
            transition: all 0.2s ease !important;
        }

        #btn-bg-style.gemini-mode {
            color: #38bdf8 !important;
            background: rgba(56, 189, 248, 0.12) !important;
            border: 1px solid rgba(56, 189, 248, 0.35) !important;
        }

        #btn-bg-style.swarm-mode {
            color: rgba(255, 255, 255, 0.75) !important;
            background: rgba(255, 255, 255, 0.08) !important;
            border: 1px solid rgba(255, 255, 255, 0.22) !important;
        }

        /* ── rr-verdict BUY color in showcase ── */
        .rr-showcase-verdict-buy,
        .rr-verdict.buy {
            background: rgba(8, 209, 129, 0.18) !important;
            color: var(--score-5) !important;
        }

        /* ── Floating Visual FX Control (Bottom-Right) ── */
        .floating-fx-control {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1000;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 6px;
            background: rgba(10, 15, 26, 0.82);
            border: 1px solid rgba(255, 255, 255, 0.14);
            border-radius: 999px;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 1px rgba(255, 255, 255, 0.2);
            transition: all 0.25s ease;
        }

        .floating-fx-control:hover {
            border-color: rgba(56, 189, 248, 0.4);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.6), 0 0 16px rgba(56, 189, 248, 0.2);
        }

        /* In report view, shift floating FX control to the left so it sits cleanly alongside the Chat FAB */
        body.results-visible:not(.analysis-loading) .floating-fx-control,
        body.xr-chat-ready .floating-fx-control {
            right: 140px;
            bottom: 20px;
        }

        body.results-visible:not(.analysis-loading) #theme-picker,
        body.xr-chat-ready #theme-picker {
            right: 140px;
        }

        /* When the chat panel is open, fade out the floating FX control */
        body.xr-chat-open .floating-fx-control {
            opacity: 0 !important;
            pointer-events: none !important;
            transform: translateY(8px) scale(0.96) !important;
        }

        /* If archive or portfolio overlays are open, restore standard right offset */
        body.pf-active .floating-fx-control,
        body.reports-archive-active .floating-fx-control {
            right: 20px !important;
        }

        .ffx-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            height: 34px;
            padding: 0 12px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.05);
            color: #cbd5e1;
            font-size: 11px;
            font-weight: 600;
            font-family: 'JetBrains Mono', 'Fira Code', monospace;
            letter-spacing: 0.04em;
            cursor: pointer;
            transition: all 0.2s ease;
            white-space: nowrap;
        }

        .ffx-btn:hover {
            background: rgba(56, 189, 248, 0.15);
            border-color: rgba(56, 189, 248, 0.5);
            color: #ffffff;
        }

        .ffx-btn.gemini-mode {
            color: #38bdf8;
            background: rgba(56, 189, 248, 0.12);
            border-color: rgba(56, 189, 248, 0.35);
        }

        .ffx-btn.swarm-mode {
            color: rgba(255, 255, 255, 0.85);
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.25);
        }

        .ffx-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #38bdf8;
            box-shadow: 0 0 6px #38bdf8;
            transition: background 0.2s ease, box-shadow 0.2s ease;
        }

        .ffx-btn.swarm-mode .ffx-dot {
            background: #a855f7;
            box-shadow: 0 0 6px #a855f7;
        }

        .ffx-tuner-btn {
            display: none !important;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.6);
            cursor: pointer;
            transition: all 0.2s ease;
        }

        html.is-admin .ffx-tuner-btn,
        body.is-admin .ffx-tuner-btn {
            display: inline-flex !important;
        }

        .ffx-tuner-btn:hover {
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.35);
            background: rgba(255, 255, 255, 0.12);
        }

        #btn-accent {
            display: none !important;
        }

        html.is-admin #btn-accent,
        body.is-admin #btn-accent {
            display: inline-block !important;
        }

        /* Style Tuner is strictly restricted to admin (jeremias.virtanen@gmail.com) */
        #theme-picker {
            display: none !important;
        }
        html.is-admin #theme-picker,
        body.is-admin #theme-picker {
            display: none; /* Can be toggled open by admin via toggleStyleTuner() */
        }
        html:not(.is-admin):not(.admin-auth) body:not(.is-admin) #theme-picker {
            display: none !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }

        @media (max-width: 640px) {
            .floating-fx-control {
                bottom: 14px;
                right: 14px;
                padding: 3px 5px;
            }
            body.results-visible:not(.analysis-loading) .floating-fx-control,
            body.xr-chat-ready .floating-fx-control {
                right: calc(18px + env(safe-area-inset-right, 0px));
                bottom: calc(72px + env(safe-area-inset-bottom, 0px));
            }
            body.results-visible:not(.analysis-loading) #theme-picker,
            body.xr-chat-ready #theme-picker {
                right: calc(18px + env(safe-area-inset-right, 0px));
                bottom: calc(120px + env(safe-area-inset-bottom, 0px));
            }
            .ffx-btn {
                height: 32px;
                padding: 0 10px;
                font-size: 10px;
            }
            .ffx-tuner-btn {
                width: 32px;
                height: 32px;
            }
        }

/* ── Extracted Style Block #4 ── */
/* ══════════════════════════════════════════════════════════════════════════
           ═══ STATISTICS PANEL ═══
           ══════════════════════════════════════════════════════════════════════════ */
        #stats-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            z-index: 999990;
            display: none;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        #stats-overlay.visible {
            opacity: 1;
        }

        #stats-panel {
            width: 96vw;
            max-width: 1440px;
            height: 94vh;
            background: #09090c;
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 28px;
            box-shadow: 0 48px 160px rgba(0, 0, 0, 0.98), 0 0 0 1px rgba(255, 255, 255, 0.04);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            position: relative;
            font-family: var(--body-font) !important;
        }

        #stats-panel * {
            font-family: inherit;
        }

        #stats-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 28px;
            background: rgba(0, 0, 0, 0.5);
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            position: sticky;
            top: 0;
            z-index: 10;
            gap: 16px;
            flex-shrink: 0;
        }

        #stats-header-title {
            font-size: 20px;
            font-weight: 950;
            letter-spacing: 0.01em;
            text-transform: uppercase;
            background: var(--grad-score-2);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 0 12px rgba(255, 170, 0, 0.3));
            flex: 1;
        }

        #stats-header-subtitle,
        #stats-last-updated-label,
        .stats-header-subtitle {
            font-size: 10px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.3);
            letter-spacing: 0.08em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        #stats-close-btn {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.5);
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.2s;
            flex-shrink: 0;
        }

        #stats-close-btn:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
            transform: scale(1.1);
        }

        #stats-content {
            flex: 1;
            overflow-y: auto;
            padding: 24px 28px 40px;
            background: transparent;
            -webkit-overflow-scrolling: touch;
            position: relative;
        }

        #stats-loading-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: #08080a;
            z-index: 100;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 20px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }

        #stats-loading-overlay.visible {
            opacity: 1;
            pointer-events: auto;
        }

        /* ── KPIs ── */
        .stats-kpi-row {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 10px;
            margin-bottom: 28px;
        }

        .stats-kpi-card {
            background: rgba(255, 255, 255, 0.018);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 16px;
            padding: 18px 16px 16px;
            text-align: center;
            transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
            position: relative;
            overflow: hidden;
        }

        .stats-kpi-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 20%;
            right: 20%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
            pointer-events: none;
        }

        .stats-kpi-card:hover {
            background: rgba(255, 255, 255, 0.032);
            border-color: rgba(var(--ui-accent-rgb), 0.22);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.08);
        }

        .stats-kpi-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            margin: 0 auto 10px;
            border-radius: 8px;
            background: rgba(var(--ui-accent-rgb), 0.07);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.12);
            color: rgba(var(--ui-accent-rgb), 0.6);
        }

        .stats-kpi-icon svg {
            display: block;
            width: 14px;
            height: 14px;
        }

        .stats-kpi-label {
            display: block;
            font-size: 8px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.28);
            margin-bottom: 8px;
            font-family: var(--header-font);
        }

        .stats-kpi-value {
            display: block;
            font-size: 17px;
            font-weight: 900;
            font-family: var(--header-font);
            color: var(--text-main);
            line-height: 1;
            margin-bottom: 7px;
            letter-spacing: -0.03em;
        }

        .stats-kpi-footer {
            font-size: 8.5px;
            color: rgba(255, 255, 255, 0.22);
            font-weight: 500;
            font-family: var(--body-font);
            letter-spacing: 0;
        }

        /* ── Filters ── */
        .stats-filters-bar {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 28px;
            padding: 10px 20px;
            background: rgba(0, 0, 0, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 12px;
            flex-wrap: wrap;
        }

        .stats-filter-label {
            font-size: 8px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.25);
            font-family: var(--header-font);
        }

        .stats-filter-select {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            color: rgba(255, 255, 255, 0.75);
            font-size: 11px;
            padding: 5px 10px;
            outline: none;
            cursor: pointer;
            transition: border-color 0.15s, background 0.15s;
            font-family: var(--header-font);
            font-weight: 600;
        }

        .stats-filter-select:hover,
        .stats-filter-select:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            background: rgba(var(--ui-accent-rgb), 0.05);
        }

        /* ── Grid ── */
        .stats-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin-bottom: 16px;
        }

        .stats-grid-3 {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 16px;
            margin-bottom: 16px;
        }

        .stats-grid-full {
            margin-bottom: 16px;
        }

        .stats-card {
            background: rgba(255, 255, 255, 0.016);
            border: 1px solid rgba(255, 255, 255, 0.065);
            border-radius: 18px;
            padding: 22px 24px;
            transition: border-color 0.2s, box-shadow 0.2s;
            position: relative;
            overflow: hidden;
        }

        .stats-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 10%;
            right: 10%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.07), transparent);
            pointer-events: none;
        }

        .stats-card:hover {
            border-color: rgba(255, 255, 255, 0.1);
            box-shadow: 0 10px 36px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.05);
        }

        .stats-section-title {
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: rgba(255, 255, 255, 0.3);
            margin-bottom: 18px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-family: var(--header-font);
        }

        .stats-section-title::before {
            content: '';
            width: 2px;
            height: 10px;
            border-radius: 2px;
            background: rgba(var(--ui-accent-rgb), 0.5);
            flex-shrink: 0;
        }

        .stats-section-title::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), transparent);
        }

        /* ── Verdict distribution bars ── */
        .stats-verdict-bars-wrap {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 10px;
            align-items: end;
            height: 160px;
            padding-bottom: 4px;
        }

        .stats-vbar-col {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 5px;
            height: 100%;
            justify-content: flex-end;
        }

        .stats-vbar-count {
            font-size: 13px;
            font-weight: 900;
            font-family: var(--header-font);
            letter-spacing: -0.02em;
        }

        .stats-vbar-bar {
            width: 100%;
            border-radius: 6px 6px 3px 3px;
            min-height: 4px;
            transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .stats-vbar-label {
            font-size: 8px;
            font-weight: 800;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            white-space: nowrap;
        }

        .stats-vbar-pct {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.35);
            font-weight: 600;
        }

        /* ── Score Histogram — matches verdict bars exactly ── */
        .stats-histogram-wrap {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 10px;
            align-items: end;
            height: 160px;
            padding-bottom: 4px;
        }

        .stats-hist-col {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 5px;
            height: 100%;
            justify-content: flex-end;
            cursor: default;
            border-radius: 8px;
            padding: 4px 2px 2px;
            transition: background 0.18s, transform 0.18s;
        }

        .stats-hist-col:hover {
            background: rgba(255, 255, 255, 0.05);
            transform: translateY(-2px);
        }

        .stats-hist-col:hover .stats-hist-bar {
            filter: brightness(1.2);
        }

        .stats-hist-bar {
            width: 100%;
            border-radius: 6px 6px 3px 3px;
            min-height: 4px;
            transition: height 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .stats-hist-label {
            font-size: 8px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            white-space: nowrap;
        }

        .stats-hist-count {
            font-size: 13px;
            font-weight: 900;
            font-family: var(--header-font);
            letter-spacing: -0.02em;
        }

        .stats-hist-pct {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.35);
            font-weight: 600;
        }

        /* ── Dimension violin / distribution ── */
        #stats-violin-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }

        .stats-violin-item {
            background: rgba(255, 255, 255, 0.018);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 16px;
            padding: 18px 20px 16px;
            display: flex;
            flex-direction: column;
            gap: 0;
            transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
            position: relative;
            overflow: hidden;
        }

        .stats-violin-item:hover {
            background: rgba(255, 255, 255, 0.03);
            border-color: rgba(255, 255, 255, 0.13);
            box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
        }

        .stats-violin-name {
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            font-family: var(--header-font);
            flex: 1;
            min-width: 0;
        }

        .stats-violin-desc {
            font-size: 10.5px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.32);
            font-family: var(--body-font, sans-serif);
            font-weight: 400;
            margin-top: 7px;
            margin-bottom: 14px;
        }

        .stats-violin-canvas {
            width: 100%;
            height: 56px;
            display: block;
            margin-bottom: 10px;
        }

        .stats-violin-stats {
            display: flex;
            justify-content: space-between;
            font-size: 9px;
            color: rgba(255, 255, 255, 0.3);
            font-family: var(--header-font);
            font-weight: 700;
            letter-spacing: 0.04em;
            margin-top: 6px;
            padding-top: 8px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
        }

        .stats-violin-avg {
            font-size: 20px;
            font-weight: 950;
            font-family: var(--header-font);
            letter-spacing: -0.04em;
            line-height: 1;
            flex-shrink: 0;
        }

        .stats-violin-pct-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 6px;
            margin-bottom: 4px;
        }

        .stats-pct-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 9px;
            font-weight: 800;
            font-family: var(--header-font);
            letter-spacing: 0.05em;
            padding: 2px 7px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.5);
        }

        .stats-pct-badge .pct-lbl {
            color: rgba(255, 255, 255, 0.28);
            font-weight: 700;
        }

        .stats-pct-iqr {
            font-size: 9px;
            font-weight: 700;
            font-family: var(--header-font);
            color: rgba(255, 255, 255, 0.28);
            text-align: center;
        }

        /* ── Clickable stat bar columns (verdict + sector) ── */
        .stats-vbar-col {
            cursor: pointer;
            border-radius: 8px;
            padding: 4px 2px 2px;
            transition: background 0.18s, transform 0.18s;
        }

        .stats-vbar-col:hover {
            background: rgba(255, 255, 255, 0.05);
            transform: translateY(-2px);
        }

        .stats-vbar-col:hover .stats-vbar-bar {
            filter: brightness(1.2);
        }

        .stats-drill-hint {
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.2);
            font-family: var(--header-font);
            opacity: 0;
            transition: opacity 0.18s;
            white-space: nowrap;
        }

        .stats-vbar-col:hover .stats-drill-hint {
            opacity: 1;
        }

        .stats-sector-row:hover .stats-sector-bar-fill {
            filter: brightness(1.25);
        }

        /* ── Model benchmarking table ── */
        .stats-model-table {
            width: 100%;
            border-collapse: collapse;
        }

        .stats-model-table th {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-muted);
            padding: 0 12px 14px;
            text-align: left;
            font-family: var(--header-font);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .stats-model-table th:not(:first-child) {
            text-align: center;
        }

        .stats-model-table td {
            padding: 14px 12px;
            font-size: 12px;
            color: var(--text-main);
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            vertical-align: middle;
        }

        .stats-model-table tr:last-child td {
            border-bottom: none;
        }

        .stats-model-table tr:hover td {
            background: rgba(255, 255, 255, 0.02);
        }

        .stats-model-name {
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.8);
            max-width: 160px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .stats-model-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: 900;
            font-family: var(--header-font);
            letter-spacing: -0.02em;
            width: 100%;
        }

        .stats-model-bar-wrap {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .stats-model-bar-bg {
            flex: 1;
            height: 5px;
            background: rgba(255, 255, 255, 0.06);
            border-radius: 3px;
            overflow: hidden;
        }

        .stats-model-bar-fill {
            height: 100%;
            border-radius: 3px;
            transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        /* ── Sector coverage ── */
        .stats-sector-row {
            display: flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            border-radius: 8px;
            padding: 4px 6px;
            margin: 0 -6px 6px;
            transition: background 0.18s;
        }

        .stats-sector-row:hover {
            background: rgba(255, 255, 255, 0.05);
        }

        .stats-sector-row:hover .stats-sector-bar-fill {
            filter: brightness(1.25);
        }

        .stats-sector-name {
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.7);
            min-width: 110px;
            font-family: var(--header-font);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .stats-sector-bar-bg {
            flex: 1;
            height: 8px;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 4px;
            overflow: hidden;
        }

        .stats-sector-bar-fill {
            height: 100%;
            border-radius: 4px;
            background: linear-gradient(90deg, rgba(var(--ui-accent-rgb), 0.6), rgba(var(--ui-accent-rgb), 0.3));
            transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .stats-sector-count {
            font-size: 10px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.45);
            font-family: var(--header-font);
            min-width: 28px;
            text-align: right;
        }

        /* ── Sector word cloud ── */
        .stats-sector-cloud {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px 14px;
            padding: 8px 4px 4px;
            min-height: 80px;
        }

        .stats-wc-tag {
            font-family: var(--header-font);
            font-weight: 800;
            letter-spacing: -0.01em;
            cursor: pointer;
            transition: opacity 0.15s, transform 0.15s;
            line-height: 1.2;
            user-select: none;
        }

        .stats-wc-tag:hover {
            opacity: 1 !important;
            transform: scale(1.08);
            text-decoration: underline;
        }

        /* ── Timeline sparkline ── */
        #stats-timeline-canvas {
            width: 100%;
            height: 90px;
            display: block;
        }

        .stats-timeline-labels {
            display: flex;
            justify-content: space-between;
            margin-top: 6px;
        }

        .stats-timeline-label {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.3);
            font-family: var(--header-font);
            font-weight: 600;
        }

        /* ── Heatmap ── */
        #stats-heatmap-wrap {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        .stats-heatmap-table {
            width: 100%;
            border-collapse: collapse;
            font-family: var(--header-font);
        }

        .stats-heatmap-table th {
            padding: 10px 6px;
            text-align: center;
            font-size: 9px;
            color: var(--text-muted);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .stats-heatmap-cell {
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: 800;
            border: 1px solid;
            transition: all 0.2s;
            border-radius: 6px;
            margin: 2px;
            cursor: default;
        }

        .stats-heatmap-cell:hover {
            transform: scale(1.1);
            z-index: 2;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35);
            filter: brightness(1.2);
        }

        .stats-verdict-label {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            padding-right: 12px;
            white-space: nowrap;
        }

        /* ── Responsive ── */
        @media (max-width: 1200px) {
            .stats-kpi-row {
                grid-template-columns: repeat(3, 1fr);
            }

            .stats-grid-3 {
                grid-template-columns: 1fr 1fr;
            }

            #stats-violin-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 900px) {
            .stats-grid {
                grid-template-columns: 1fr;
            }

            .stats-grid-3 {
                grid-template-columns: 1fr;
            }

            #stats-violin-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {

            /* Panel fills full screen */
            #stats-panel {
                width: 100vw;
                height: 100dvh;
                border-radius: 0;
                border: none;
            }

            #stats-content {
                padding: 14px 12px 40px;
            }

            /* KPIs: 2 columns, tighter */
            .stats-kpi-row {
                grid-template-columns: 1fr 1fr;
                gap: 8px;
                margin-bottom: 18px;
            }

            .stats-kpi-card {
                padding: 14px 12px 12px;
                border-radius: 14px;
            }

            .stats-kpi-value {
                font-size: 18px;
            }

            .stats-kpi-footer {
                display: none;
            }

            /* Hide filters entirely on mobile */
            .stats-filters-bar {
                display: none;
            }

            /* Verdict distribution spans full width; hide composite score card */
            .stats-grid {
                grid-template-columns: 1fr;
            }

            /* Hide the composite score distribution card on mobile */
            .stats-hide-mobile {
                display: none !important;
            }

            /* Violin: single column */
            #stats-violin-grid {
                grid-template-columns: 1fr;
            }

            /* Model table: hide Reports bar col (2nd) and Top Verdict col (5th) */
            .stats-model-table th:nth-child(2),
            .stats-model-table td:nth-child(2),
            .stats-model-table th:nth-child(5),
            .stats-model-table td:nth-child(5) {
                display: none;
            }

            /* Model table: tighter cells */
            .stats-model-table th,
            .stats-model-table td {
                padding: 10px 8px;
                font-size: 11px;
            }

            .stats-model-name {
                font-size: 9px;
                max-width: 100px;
            }

            .stats-model-badge {
                font-size: 11px;
            }

            /* Heatmap: compact cells, no side-scroll */
            #stats-heatmap-wrap {
                overflow-x: hidden;
            }

            .stats-heatmap-table {
                table-layout: fixed;
                width: 100%;
            }

            .stats-heatmap-table th:first-child,
            .stats-verdict-label {
                width: 52px;
                font-size: 7px;
                padding: 4px 3px;
                white-space: normal;
                word-break: break-word;
            }

            .stats-heatmap-table th:not(:first-child) {
                padding: 5px 2px;
                font-size: 7px;
                letter-spacing: 0;
                word-break: break-all;
                width: auto;
            }

            .stats-heatmap-cell {
                height: 30px;
                font-size: 9px;
                border-radius: 4px;
                margin: 1px;
            }

            /* Sections: tighter */
            .stats-section-title {
                margin-bottom: 14px;
            }

            .stats-card {
                padding: 16px 14px;
                border-radius: 14px;
            }
        }

        @media (max-width: 480px) {
            .stats-kpi-row {
                grid-template-columns: 1fr 1fr;
            }

            /* Heatmap: even more compact on very small screens */
            .stats-heatmap-table th:first-child,
            .stats-verdict-label {
                width: 44px;
                font-size: 6.5px;
            }

            .stats-heatmap-table th:not(:first-child) {
                font-size: 6.5px;
            }

            .stats-heatmap-cell {
                height: 26px;
                font-size: 8px;
            }
        }

        /* ══════════════════════════════════════════════════════════════
           PHASE 3 — v1361 Statistics Enhancements
           ══════════════════════════════════════════════════════════════ */

        /* ── 3A: Verdict Distribution — Horizontal Stacked Bar ── */
        .xr-verdict-dist {
            margin-bottom: 6px;
        }

        .xr-vd-bar-wrap {
            width: 100%;
            height: 28px;
            border-radius: 8px;
            overflow: hidden;
            display: flex;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.06);
            cursor: default;
        }

        .xr-vd-seg {
            height: 100%;
            position: relative;
            transition: flex-basis 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.18s;
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 0;
            overflow: hidden;
        }

        .xr-vd-seg:first-child {
            border-radius: 7px 0 0 7px;
        }

        .xr-vd-seg:last-child {
            border-radius: 0 7px 7px 0;
        }

        .xr-vd-seg:hover {
            filter: brightness(1.25);
            z-index: 1;
        }

        .xr-vd-seg-label {
            font-size: 9px;
            font-weight: 800;
            font-family: var(--header-font);
            color: rgba(0, 0, 0, 0.7);
            letter-spacing: 0.02em;
            white-space: nowrap;
            pointer-events: none;
            text-shadow: 0 1px 2px rgba(255, 255, 255, 0.15);
        }

        .xr-vd-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 14px;
        }

        .xr-vd-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 10px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            background: rgba(255, 255, 255, 0.02);
            cursor: pointer;
            transition: background 0.18s, border-color 0.18s, transform 0.18s;
            flex: 1 1 auto;
            min-width: 0;
            justify-content: center;
        }

        .xr-vd-chip:hover {
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(255, 255, 255, 0.14);
            transform: translateY(-1px);
        }

        .xr-vd-chip-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .xr-vd-chip-verdict {
            font-size: 8px;
            font-weight: 800;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.5);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .xr-vd-chip-count {
            font-size: 12px;
            font-weight: 950;
            font-family: var(--header-font);
            letter-spacing: -0.02em;
            color: var(--text-main);
        }

        .xr-vd-chip-pct {
            font-size: 9px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.3);
        }

        /* ── 3B: Sector Heatmap ── */
        .xr-sector-heat {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
        }

        .xr-sector-heat-cell {
            padding: 14px 12px;
            border-radius: 10px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            display: flex;
            flex-direction: column;
            gap: 6px;
            cursor: pointer;
            transition: border-color 0.18s, transform 0.18s, box-shadow 0.18s;
            position: relative;
            overflow: hidden;
        }

        .xr-sector-heat-cell:hover {
            border-color: rgba(255, 255, 255, 0.14);
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
        }

        .xr-sector-heat-name {
            font-size: 8px;
            font-weight: 800;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.5);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .xr-sector-heat-score {
            font-size: 18px;
            font-weight: 950;
            font-family: var(--header-font);
            letter-spacing: -0.04em;
            line-height: 1;
        }

        .xr-sector-heat-meta {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 9px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.25);
            font-family: var(--header-font);
        }

        .xr-sector-heat-bar {
            width: 100%;
            height: 3px;
            border-radius: 2px;
            background: rgba(255, 255, 255, 0.06);
            margin-top: 2px;
        }

        .xr-sector-heat-bar-fill {
            height: 100%;
            border-radius: 2px;
            transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        /* ── 3A/3B Mobile overrides ── */
        @media (max-width: 768px) {
            .xr-vd-bar-wrap {
                height: 22px;
            }

            .xr-vd-seg-label {
                font-size: 7px;
            }

            .xr-vd-chips {
                gap: 6px;
            }

            .xr-vd-chip {
                padding: 4px 8px;
                gap: 4px;
            }

            .xr-vd-chip-dot {
                width: 6px;
                height: 6px;
            }

            .xr-vd-chip-verdict {
                font-size: 7px;
            }

            .xr-vd-chip-count {
                font-size: 10px;
            }

            .xr-vd-chip-pct {
                font-size: 8px;
            }

            .xr-sector-heat {
                grid-template-columns: repeat(2, 1fr);
                gap: 8px;
            }

            .xr-sector-heat-cell {
                padding: 10px;
            }

            .xr-sector-heat-name {
                font-size: 7px;
            }

            .xr-sector-heat-score {
                font-size: 15px;
            }
        }

        @media (max-width: 480px) {
            .xr-sector-heat {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (min-width: 1200px) {
            .xr-sector-heat {
                grid-template-columns: repeat(6, 1fr);
            }
        }

        /* ── Sector Intelligence Dimension Table ── */
        .xr-si-table {
            width: 100%;
            border-collapse: collapse;
            font-family: var(--header-font);
        }

        .xr-si-table th {
            padding: 8px 6px;
            font-size: 7.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.10em;
            color: rgba(255, 255, 255, 0.28);
            text-align: center;
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            white-space: nowrap;
            cursor: pointer;
            user-select: none;
            transition: color 0.15s;
        }

        .xr-si-table th:first-child {
            text-align: left;
            cursor: default;
            min-width: 110px;
        }

        .xr-si-table th.xr-si-sort-active {
            color: rgba(var(--ui-accent-rgb), 0.85);
        }

        .xr-si-table th:hover:not(:first-child) {
            color: rgba(255, 255, 255, 0.65);
        }

        .xr-si-sort-arrow {
            display: inline-block;
            margin-left: 3px;
            opacity: 0.5;
            font-size: 8px;
        }

        .xr-si-table td {
            padding: 9px 5px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            text-align: center;
            vertical-align: middle;
        }

        .xr-si-table tr:last-child td {
            border-bottom: none;
        }

        .xr-si-table tr:hover td {
            background: rgba(255, 255, 255, 0.02);
        }

        .xr-si-sector-name {
            text-align: left;
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.7);
            cursor: pointer;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: 130px;
        }

        .xr-si-sector-name:hover {
            color: rgba(255, 255, 255, 0.95);
            text-decoration: underline;
        }

        .xr-si-n {
            font-size: 9px;
            color: rgba(255, 255, 255, 0.28);
            font-family: var(--mono-font);
        }

        .xr-si-score {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 22px;
            border-radius: 6px;
            font-size: 10px;
            font-weight: 800;
            font-family: var(--mono-font);
            letter-spacing: -0.02em;
            border: 1px solid currentColor;
        }

        .xr-si-score.no-data {
            color: rgba(255, 255, 255, 0.15);
            border-color: rgba(255, 255, 255, 0.08);
            background: transparent;
        }

        .xr-si-score.xr-si-best {
            box-shadow: 0 0 0 1.5px currentColor, 0 0 10px currentColor;
            font-weight: 900;
        }

        .xr-si-composite {
            font-size: 12px;
            font-weight: 900;
            font-family: var(--header-font);
            letter-spacing: -0.03em;
        }

        @media (max-width: 768px) {
            .xr-si-table th:not(:first-child):not(:nth-child(2)):not(:last-child) {
                display: none;
            }

            .xr-si-table td:not(:first-child):not(:nth-child(2)):not(:last-child) {
                display: none;
            }
        }

        /* ══════════════════════════════════════════════════════════════
           PHASE 4 — v1362-v1363 Front Page Improvements
           ══════════════════════════════════════════════════════════════ */

        /* ── 4A: Portfolio Alpha Strip ── */
        .xr-alpha-strip {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 18px;
            padding: 14px 24px;
            margin: 20px 0 20px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 14px;
        }

        .xr-alpha-metric {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 3px;
        }

        .xr-alpha-label {
            font-size: 8px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.3);
            font-family: var(--header-font);
        }

        .xr-alpha-value {
            font-size: 30px;
            font-weight: 950;
            font-family: var(--header-font);
            letter-spacing: -0.04em;
            color: var(--text-main);
        }

        .xr-alpha-vs {
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.2);
            font-family: var(--header-font);
            text-transform: lowercase;
        }

        .xr-alpha-highlight {
            padding: 6px 14px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 10px;
        }

        /* ── 4D: Sample Report Link ── */
        .xr-sample-link {
            text-align: center;
            margin: 10px 0 18px;
        }

        .xr-sample-link a {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 11px;
            font-weight: 700;
            font-family: var(--header-font);
            letter-spacing: 0.04em;
            color: rgba(255, 255, 255, 0.35);
            text-decoration: none;
            transition: color 0.18s;
        }

        .xr-sample-link a:hover {
            color: rgba(var(--ui-accent-rgb), 0.8);
        }

        /* ── 4E: Data Freshness Badge ── */
        .xr-freshness-badge {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            font-size: 10px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.22);
            margin-bottom: 14px;
            font-family: var(--body-font);
        }

        /* ── 4F: Changelog Surface ── */
        .xr-changelog-surface {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            justify-content: center;
            margin-top: 6px;
        }

        .xr-cl-chip {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 9px;
            font-weight: 600;
            font-family: var(--mono-font);
            color: rgba(255, 255, 255, 0.30);
            padding: 3px 8px;
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.02);
            cursor: pointer;
            transition: border-color 0.18s, color 0.18s;
        }

        .xr-cl-chip:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.25);
            color: rgba(255, 255, 255, 0.5);
        }

        .xr-cl-chip-date {
            color: rgba(255, 255, 255, 0.18);
        }

        /* ── v1363: How It Works ── */
        .xr-how-it-works {
            max-width: 760px;
            margin: 0 auto 48px;
            padding: 0 20px;
            text-align: center;
        }

        body.results-visible .xr-how-it-works,
        body.analysis-loading .xr-how-it-works,
        body.deep-link .xr-how-it-works {
            display: none;
        }

        .xr-hiw-eyebrow {
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            color: rgba(var(--ui-accent-rgb), 0.5);
            margin-bottom: 24px;
            font-family: var(--header-font);
        }

        .xr-hiw-steps {
            display: flex;
            align-items: stretch;
            justify-content: center;
            gap: 0;
        }

        .xr-hiw-step {
            flex: 1;
            max-width: 260px;
            padding: 28px 20px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid transparent;
            border-radius: 16px;
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
            position: relative;
        }

        .xr-hiw-step::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 16px;
            padding: 1px;
            background: rgba(255, 255, 255, 0.09);
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            opacity: 0.4;
            pointer-events: none;
            transition: opacity 0.3s, filter 0.3s;
        }

        .xr-hiw-steps>.xr-hiw-step:nth-child(1)::before {
            background: var(--grad-score-2);
        }

        .xr-hiw-steps>.xr-hiw-step:nth-child(3)::before {
            background: var(--grad-score-4);
        }

        .xr-hiw-steps>.xr-hiw-step:nth-child(5)::before {
            background: var(--grad-score-5);
        }

        .xr-hiw-step:hover {
            background: rgba(255, 255, 255, 0.055);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.06);
        }

        .xr-hiw-step:hover::before {
            opacity: 1;
        }

        @keyframes stepProgressGlow {

            0%,
            100% {
                opacity: 0.4;
                filter: brightness(1);
            }

            50% {
                opacity: 1;
                filter: brightness(1.4);
            }
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(1)::before {
            animation: stepProgressGlow 3s infinite;
            animation-delay: 1s;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(3)::before {
            animation: stepProgressGlow 3s infinite;
            animation-delay: 2s;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(5)::before {
            animation: stepProgressGlow 3s infinite;
            animation-delay: 3s;
        }

        .xr-hiw-num {
            display: none;
        }

        .xr-hiw-icon {
            color: rgba(255, 255, 255, 0.35);
            margin-bottom: 14px;
        }

        .xr-hiw-title {
            font-size: 12px;
            font-weight: 800;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--text-main);
            margin-bottom: 8px;
        }

        .xr-hiw-desc {
            font-size: 11px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.35);
            font-family: var(--body-font);
        }

        .xr-hiw-connector {
            display: flex;
            align-items: center;
            padding-top: 60px;
            flex-shrink: 0;
        }

        /* ── Node Connector Flow Animation ── */
        .xr-hiw-connector line {
            stroke-dasharray: 4 6;
            animation: hiwFlowAnim 1s linear infinite;
        }

        @keyframes hiwFlowAnim {
            to {
                stroke-dashoffset: -10;
            }
        }

        /* ── Focus / Blur Dimming on Steps ── */
        .xr-hiw-steps:hover .xr-hiw-step:hover {
            opacity: 1;
            filter: grayscale(0%);
        }

        .xr-hiw-steps:hover .xr-hiw-step:not(:hover) {
            opacity: 0.5;
            filter: grayscale(80%);
            transform: scale(0.98);
        }

        .xr-hiw-note {
            margin-top: 28px;
            font-size: 10.5px;
            font-weight: 600;
            font-family: var(--header-font);
            letter-spacing: 0.07em;
            color: rgba(255, 255, 255, 0.25);
            text-align: center;
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.4s ease, transform 0.4s ease;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-note {
            opacity: 1;
            transform: translateY(0);
            transition-delay: 0.72s;
        }

        .xr-hiw-note-dot {
            opacity: 0.55;
            font-style: normal;
        }

        /* ── How It Works: entrance animation ── */
        @keyframes hiwEnter {
            from {
                opacity: 0;
                transform: translateY(24px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .xr-hiw-eyebrow,
        .xr-hiw-steps>.xr-hiw-step,
        .xr-hiw-steps>.xr-hiw-connector {
            opacity: 0;
            transform: translateY(24px);
        }

        .xr-how-it-works.hiw-visible .xr-hiw-eyebrow {
            animation: hiwEnter 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: 0s;
        }

        /* stagger: eyebrow(0) → step1(0.1) → conn1(0.22) → step2(0.34) → conn2(0.46) → step3(0.58) */
        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(1) {
            animation: hiwEnter 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: 0.1s;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(2) {
            animation: hiwEnter 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: 0.22s;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(3) {
            animation: hiwEnter 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: 0.34s;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(4) {
            animation: hiwEnter 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: 0.46s;
        }

        .xr-how-it-works.hiw-visible .xr-hiw-steps> :nth-child(5) {
            animation: hiwEnter 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            animation-delay: 0.58s;
        }

        /* Respect prefers-reduced-motion */
        @media (prefers-reduced-motion: reduce) {

            .xr-hiw-eyebrow,
            .xr-hiw-steps>.xr-hiw-step,
            .xr-hiw-steps>.xr-hiw-connector,
            .xr-hiw-note {
                opacity: 1;
                transform: none;
            }

            .xr-how-it-works.hiw-visible .xr-hiw-eyebrow,
            .xr-how-it-works.hiw-visible .xr-hiw-steps>* {
                animation: none;
                opacity: 1;
                transform: none;
            }
        }

        @media (max-width: 768px) {
            .xr-hiw-steps {
                flex-direction: column;
                align-items: center;
                gap: 0;
            }

            .xr-hiw-step {
                max-width: 100%;
                width: 100%;
            }

            .xr-hiw-connector {
                padding: 6px 0;
                transform: none;
                justify-content: center;
            }

            .xr-hiw-connector svg {
                transform: rotate(90deg);
            }

            .xr-alpha-strip {
                flex-wrap: wrap;
                gap: 12px;
                padding: 12px 16px;
            }

            .xr-alpha-value {
                font-size: 16px;
            }

            .xr-sample-link {
                margin: 8px 0 14px;
            }
        }

        /* ── Small Submit Button variant ── */
        .submit-btn-sm {
            width: 30%;
            min-width: 140px;
            font-size: 10px;
            letter-spacing: 0.2em;
            padding: 12px 20px;
        }

        @media (max-width: 768px) {
            .submit-btn-sm {
                width: 60%;
            }
        }

        /* ══════════════════════════════════════════════════════════════
           PHASE 5 — v1364-v1365 Account Panel | v1467 Telegram section
           ══════════════════════════════════════════════════════════════ */

        /* ── Account Panel Overlay ── */
        #acct-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            z-index: 999990;
            display: none;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        #acct-overlay.visible {
            opacity: 1;
        }

        #acct-panel {
            width: 96vw;
            max-width: 900px;
            height: 94vh;
            background: #09090c;
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 28px;
            box-shadow: 0 48px 160px rgba(0, 0, 0, 0.98), 0 0 0 1px rgba(255, 255, 255, 0.04);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            position: relative;
            font-family: var(--body-font);
        }

        #acct-header {
            display: flex;
            align-items: center;
            padding: 16px 28px;
            background: rgba(0, 0, 0, 0.5);
            border-bottom: 1px solid rgba(255, 255, 255, 0.07);
            gap: 16px;
            flex-shrink: 0;
        }

        #acct-header-title {
            font-size: 20px;
            font-weight: 950;
            letter-spacing: 0.01em;
            text-transform: uppercase;
            background: var(--grad-score-1);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 0 12px rgba(195, 69, 61, 0.3));
            flex: 1;
        }

        #acct-close-btn {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.5);
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.2s;
            flex-shrink: 0;
        }

        #acct-close-btn:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
            transform: scale(1.1);
        }

        #acct-content {
            flex: 1;
            overflow-y: auto;
            padding: 24px 28px 40px;
            -webkit-overflow-scrolling: touch;
        }

        #acct-loading {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            padding: 0;
            color: rgba(255, 255, 255, 0.3);
            width: 100%;
        }

        #acct-loading .xr-pl-wrap {
            width: 100%;
        }

        /* Account cards */
        .acct-card {
            background: rgba(255, 255, 255, 0.016);
            border: 1px solid rgba(255, 255, 255, 0.065);
            border-radius: 18px;
            padding: 22px 24px;
            margin-bottom: 16px;
            position: relative;
            overflow: hidden;
        }

        .acct-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 10%;
            right: 10%;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.07), transparent);
            pointer-events: none;
        }

        .acct-section-title {
            font-size: 9px;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.18em;
            color: rgba(255, 255, 255, 0.3);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-family: var(--header-font);
        }

        .acct-section-title::before {
            content: '';
            width: 2px;
            height: 10px;
            border-radius: 2px;
            background: rgba(var(--ui-accent-rgb), 0.5);
            flex-shrink: 0;
        }

        .acct-section-title::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), transparent);
        }

        /* Plan badge */
        .acct-plan-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 4px 12px;
            border-radius: 8px;
            font-size: 10px;
            font-weight: 900;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }

        .acct-plan-free {
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.5);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .acct-plan-pro {
            background: rgba(48, 126, 255, 0.12);
            color: #307eff;
            border: 1px solid rgba(48, 126, 255, 0.25);
        }

        .acct-plan-ultra {
            background: rgba(255, 170, 0, 0.12);
            color: #ffaa00;
            border: 1px solid rgba(255, 170, 0, 0.25);
        }

        /* Quota bar */
        .acct-quota-bar {
            width: 100%;
            height: 6px;
            background: rgba(255, 255, 255, 0.06);
            border-radius: 3px;
            overflow: hidden;
            margin: 10px 0 6px;
        }

        .acct-quota-fill {
            height: 100%;
            border-radius: 3px;
            background: rgba(var(--ui-accent-rgb), 0.6);
            transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        .acct-quota-text {
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.3);
            font-family: var(--header-font);
        }

        /* Report rows */
        .acct-report-row {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 10px;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.15s;
            border-bottom: 1px solid rgba(255, 255, 255, 0.03);
        }

        .acct-report-row:hover {
            background: rgba(255, 255, 255, 0.04);
        }

        .acct-report-row:last-child {
            border-bottom: none;
        }

        .acct-rr-company {
            flex: 1;
            font-size: 12px;
            font-weight: 700;
            color: var(--text-main);
            font-family: var(--header-font);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .acct-rr-verdict {
            font-size: 8px;
            font-weight: 900;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            padding: 2px 7px;
            border-radius: 4px;
            white-space: nowrap;
        }

        .acct-rr-date {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.3);
            font-family: var(--header-font);
            font-weight: 600;
            white-space: nowrap;
        }

        .acct-rr-arrow {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.2);
        }

        .acct-empty {
            text-align: center;
            padding: 24px;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.25);
        }

        /* Newsletter toggle */
        .acct-toggle-wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }

        .acct-toggle {
            position: relative;
            width: 40px;
            height: 22px;
            flex-shrink: 0;
        }

        .acct-toggle input {
            opacity: 0;
            width: 0;
            height: 0;
            position: absolute;
        }

        .acct-toggle-track {
            position: absolute;
            inset: 0;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 11px;
            cursor: pointer;
            transition: background 0.2s;
        }

        .acct-toggle-track::after {
            content: '';
            position: absolute;
            top: 2px;
            left: 2px;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.6);
            transition: transform 0.2s;
        }

        .acct-toggle input:checked+.acct-toggle-track {
            background: #08d181;
        }

        .acct-toggle input:checked+.acct-toggle-track::after {
            transform: translateX(18px);
        }

        .acct-toggle-label {
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.5);
            font-family: var(--header-font);
        }

        .acct-ticker-input {
            width: 100%;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 8px 12px;
            color: rgba(255, 255, 255, 0.8);
            font-size: 11px;
            font-family: var(--mono-font);
            outline: none;
            margin-bottom: 10px;
        }

        .acct-ticker-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.3);
        }

        .acct-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 7px 16px;
            border-radius: 8px;
            font-size: 10px;
            font-weight: 800;
            font-family: var(--header-font);
            text-transform: uppercase;
            letter-spacing: 0.08em;
            cursor: pointer;
            transition: all 0.18s;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.6);
        }

        .acct-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(var(--ui-accent-rgb), 0.3);
            color: var(--text-main);
        }

        .acct-btn-danger {
            border-color: rgba(255, 69, 58, 0.2);
            color: rgba(255, 69, 58, 0.6);
        }

        .acct-btn-danger:hover {
            background: rgba(255, 69, 58, 0.08);
            border-color: rgba(255, 69, 58, 0.4);
            color: #ff453a;
        }

        /* Telegram section */
        .acct-tg-status {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 11px;
            font-weight: 700;
            font-family: var(--header-font);
            margin-bottom: 8px;
        }
        .acct-tg-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            flex-shrink: 0;
        }
        .acct-tg-linked .acct-tg-dot { background: var(--verdict-buy); box-shadow: 0 0 6px var(--verdict-buy); }
        .acct-tg-linked { color: var(--verdict-buy); }
        .acct-tg-unlinked .acct-tg-dot { background: rgba(255,255,255,0.2); }
        .acct-tg-unlinked { color: rgba(255,255,255,0.35); }
        .acct-tg-desc {
            font-size: 10px;
            color: rgba(255,255,255,0.35);
            margin: 0 0 12px 0;
            line-height: 1.5;
        }
        .acct-tg-locked {
            font-size: 10px;
            color: rgba(255,255,255,0.25);
            padding: 6px 0;
        }
        .acct-tg-code-wrap {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 6px;
            padding: 8px 12px;
            margin-bottom: 6px;
        }
        .acct-tg-code {
            font-family: monospace;
            font-size: 14px;
            font-weight: 700;
            color: var(--ui-accent);
            letter-spacing: 0.05em;
        }
        .acct-tg-copy-btn {
            background: none;
            border: none;
            color: rgba(255,255,255,0.4);
            cursor: pointer;
            font-size: 14px;
            padding: 0;
            line-height: 1;
            transition: color 0.15s;
        }
        .acct-tg-copy-btn:hover { color: var(--ui-accent); }
        .acct-tg-expires {
            font-size: 9px;
            color: rgba(255,255,255,0.2);
            letter-spacing: 0.05em;
        }
        .acct-tg-deep-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 7px 14px;
            background: rgba(0,136,204,0.12);
            border: 1px solid rgba(0,136,204,0.3);
            border-radius: 6px;
            color: #0088cc;
            font-size: 11px;
            text-decoration: none;
            cursor: pointer;
            margin-top: 10px;
            transition: background 0.15s, border-color 0.15s;
        }
        .acct-tg-deep-link:hover { background: rgba(0,136,204,0.2); border-color: rgba(0,136,204,0.5); }
        .acct-tg-link-date {
            font-size: 9px;
            color: rgba(255,255,255,0.2);
            margin-top: 2px;
            margin-bottom: 10px;
        }
        .acct-tg-prefs-row {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 8px;
        }
        .acct-tg-prefs-label {
            font-size: 10px;
            color: rgba(255,255,255,0.45);
            flex: 1;
        }
        .acct-tg-prefs-sub {
            font-size: 9px;
            color: rgba(255,255,255,0.2);
            margin-top: 0;
        }

        .acct-info-row {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 10px;
        }

        .acct-info-label {
            font-size: 9px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.25);
            font-family: var(--header-font);
            min-width: 80px;
        }

        .acct-info-value {
            font-size: 12px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.7);
            font-family: var(--header-font);
        }

        /* Account panel mobile */
        @media (max-width: 768px) {
            #acct-panel {
                width: 100vw;
                height: 100dvh;
                border-radius: 0;
                border: none;
            }

            #acct-content {
                padding: 14px 12px 40px;
            }

            #acct-content>div:first-child {
                grid-template-columns: 1fr !important;
            }

            .acct-card {
                padding: 16px 14px;
                border-radius: 14px;
            }

            .acct-report-row {
                gap: 6px;
                padding: 6px 8px;
            }

            .acct-rr-company {
                font-size: 11px;
            }
        }

        /* ── Ticker Tag Pills ── */
        .acct-tag-wrap {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            padding: 8px 10px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 10px;
            min-height: 42px;
            align-items: center;
            cursor: text;
            margin-bottom: 10px;
        }

        .acct-tag-wrap:focus-within {
            border-color: rgba(var(--ui-accent-rgb), 0.3);
        }

        .acct-tag {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 3px 8px 3px 9px;
            border-radius: 99px;
            background: rgba(var(--ui-accent-rgb), 0.12);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.28);
            color: rgba(255, 255, 255, 0.75);
            font-size: 10px;
            font-weight: 700;
            font-family: var(--mono-font);
            letter-spacing: 0.04em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .acct-tag-remove {
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.08);
            border: none;
            color: rgba(255, 255, 255, 0.4);
            font-size: 10px;
            line-height: 1;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            flex-shrink: 0;
            transition: background 0.12s, color 0.12s;
        }

        .acct-tag-remove:hover {
            background: rgba(195, 69, 61, 0.35);
            color: #ff5f56;
        }

        .acct-tag-ghost-input {
            background: transparent;
            border: none;
            outline: none;
            color: rgba(255, 255, 255, 0.7);
            font-size: 11px;
            font-family: var(--mono-font);
            min-width: 80px;
            flex: 1;
        }

        /* ── Upsell Cards ── */
        .acct-upsell {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 14px 16px;
            border-radius: 12px;
            margin-top: 14px;
            border: 1px solid;
            cursor: pointer;
            transition: opacity 0.15s, transform 0.15s;
        }

        .acct-upsell:hover {
            opacity: 0.9;
            transform: translateY(-1px);
        }

        .acct-upsell-pro {
            background: rgba(48, 126, 255, 0.08);
            border-color: rgba(48, 126, 255, 0.28);
        }

        .acct-upsell-ultra {
            background: rgba(155, 127, 212, 0.08);
            border-color: rgba(155, 127, 212, 0.28);
        }

        .acct-upsell-icon {
            font-size: 22px;
            flex-shrink: 0;
        }

        .acct-upsell-body {
            flex: 1;
            min-width: 0;
        }

        .acct-upsell-title {
            font-size: 12px;
            font-weight: 800;
            letter-spacing: -0.01em;
            margin-bottom: 2px;
        }

        .acct-upsell-sub {
            font-size: 10px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.35);
            letter-spacing: 0.02em;
        }

        .acct-upsell-arrow {
            font-size: 16px;
            opacity: 0.5;
            flex-shrink: 0;
        }

        /* ── My Reports search ── */
        .acct-search-input {
            width: 100%;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 8px;
            padding: 7px 12px;
            color: rgba(255, 255, 255, 0.7);
            font-size: 11px;
            font-family: inherit;
            outline: none;
            margin-bottom: 10px;
            box-sizing: border-box;
        }

        .acct-search-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.3);
        }

        .acct-reports-page-nav {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 0 2px;
            font-size: 10px;
            color: rgba(255, 255, 255, 0.3);
            font-weight: 700;
            letter-spacing: 0.06em;
        }

        .acct-page-btn {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 6px;
            color: rgba(255, 255, 255, 0.45);
            font-size: 10px;
            font-weight: 700;
            padding: 4px 10px;
            cursor: pointer;
            transition: background 0.12s;
        }

        .acct-page-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            color: rgba(255, 255, 255, 0.8);
        }

        .acct-page-btn:disabled {
            opacity: 0.25;
            cursor: default;
        }

        /* ══════════════════════════════════════════════════════════════
           PHASE 1 — v1354-v1357 Report Enhancements
           ══════════════════════════════════════════════════════════════ */

        /* ── v1354A: Report Staleness Banner ── */
        .xr-staleness-banner {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            padding: 16px 20px;
            margin: 0 0 20px 0;
            background: rgba(237, 209, 25, 0.04);
            border: 1px solid rgba(237, 209, 25, 0.14);
            border-radius: 14px;
            animation: xrFadeSlideIn 0.4s ease-out;
        }

        .xr-staleness-banner svg {
            flex-shrink: 0;
            margin-top: 2px;
        }

        .xr-staleness-banner-body {
            flex: 1;
            min-width: 0;
        }

        .xr-staleness-banner-title {
            font-size: 13px;
            font-weight: 700;
            color: var(--score-3);
            margin-bottom: 3px;
        }

        .xr-staleness-banner-sub {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.40);
            line-height: 1.5;
        }

        .xr-staleness-banner-btn {
            flex-shrink: 0;
            padding: 7px 16px;
            border-radius: 20px;
            border: 1px solid rgba(237, 209, 25, 0.25);
            background: rgba(237, 209, 25, 0.08);
            color: var(--score-3);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;
            align-self: center;
        }

        .xr-staleness-banner-btn:hover {
            background: rgba(237, 209, 25, 0.15);
            border-color: rgba(237, 209, 25, 0.4);
        }

        /* ── v1356: 52-Week Range Bar ── */
        .xr-52w-range {
            margin-top: 14px;
            padding-top: 12px;
            border-top: 1px dashed rgba(255, 255, 255, 0.06);
        }

        .xr-52w-label {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.25);
            margin-bottom: 8px;
        }

        .xr-52w-bar {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .xr-52w-val {
            font-size: 10px;
            font-family: var(--mono-font);
            color: rgba(255, 255, 255, 0.35);
            white-space: nowrap;
            min-width: 48px;
        }

        .xr-52w-val.high {
            text-align: right;
        }

        .xr-52w-track {
            flex: 1;
            height: 4px;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 2px;
            position: relative;
        }

        .xr-52w-fill {
            height: 100%;
            border-radius: 2px;
            background: linear-gradient(90deg, var(--score-1) 0%, var(--score-3) 50%, var(--score-4) 100%);
        }

        .xr-52w-marker {
            position: absolute;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #fff;
            box-shadow: 0 0 6px rgba(255, 255, 255, 0.4), 0 0 2px rgba(0, 0, 0, 0.6);
        }

        /* ── v1357: Analyst Consensus Breakdown (inline in price target col) ── */
        .xr-consensus-row {
            margin-top: 8px;
        }

        .xr-cons-bar {
            display: flex;
            height: 3px;
            border-radius: 2px;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.05);
            margin-bottom: 5px;
        }

        .xr-cons-seg {
            min-width: 2px;
            transition: width 0.4s ease;
        }

        .xr-cons-seg.buy {
            background: var(--score-4);
        }

        .xr-cons-seg.hold {
            background: rgba(255, 255, 255, 0.15);
        }

        .xr-cons-seg.sell {
            background: var(--score-1);
        }

        .xr-cons-legend {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 8px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.25);
            font-family: var(--mono-font);
        }

        .xr-cons-legend-item {
            display: inline-flex;
            align-items: center;
            gap: 3px;
        }

        .xr-cons-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            display: inline-block;
        }

        .xr-cons-dot.buy {
            background: var(--score-4);
        }

        .xr-cons-dot.hold {
            background: rgba(255, 255, 255, 0.20);
        }

        .xr-cons-dot.sell {
            background: var(--score-1);
        }

        /* Shared animation for Phase 1 elements */
        @keyframes xrFadeSlideIn {
            from {
                opacity: 0;
                transform: translateY(8px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* ══════════════════════════════════════════════════════════════
           HERO CARD — Executive Research Synthesis
           ══════════════════════════════════════════════════════════════ */

        /* The outer card wrapper */
        .xr-hero-card {
            width: 100%;
            border-radius: 24px;
            position: relative;
            overflow: hidden;
            background: rgba(8, 8, 10, 0.92);
            border: 1px solid rgba(255, 255, 255, 0.09);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5), 0 24px 80px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.07);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            display: flex;
            flex-direction: column;
            padding: 0;
            margin-bottom: 24px;
        }

        /* Coloured top-edge shimmer tinted by verdict */
        .xr-hero-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: var(--xr-hero-shimmer, linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.25) 50%, transparent 100%));
            pointer-events: none;
            z-index: 2;
        }

        /* Identity row — ticker + company name */
        .xr-hero-identity {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 24px 32px 0;
            flex-wrap: wrap;
        }

        .xr-hero-meta-badges {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            width: 100%;
            margin-top: 4px;
        }

        .xr-hero-ticker {
            display: inline-flex;
            align-items: center;
            font-family: var(--mono-font);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            padding: 4px 12px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.15);
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.7);
            flex-shrink: 0;
        }

        .xr-hero-company-name {
            font-size: clamp(1.1rem, 2vw, 1.6rem);
            font-weight: 900;
            letter-spacing: -0.03em;
            font-family: var(--header-font);
            color: #f3f3f3;
            line-height: 1.1;
            margin: 0;
        }

        /* BETA Priority Badges */
        .xr-beta-priority-badge {
            display: inline-flex;
            align-items: center;
            gap: 2px;
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.08em;
            padding: 2px 6px;
            border-radius: 3px;
            line-height: 1.2;
            white-space: nowrap;
            flex-shrink: 0;
        }
        .xr-beta-priority-badge--high {
            background: rgba(48, 126, 255, 0.12);
            color: var(--score-5);
            border: 1px solid rgba(48, 126, 255, 0.20);
        }
        .xr-beta-priority-badge--moderate {
            background: rgba(0, 234, 255, 0.08);
            color: var(--score-3);
            border: 1px solid rgba(0, 234, 255, 0.12);
        }
        .xr-beta-priority-badge--minor {
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.30);
            border: 1px solid rgba(255, 255, 255, 0.06);
        }

        /* ── Executive Tri-Pane Command Center: Binary Assessment Signals ── */
        .xr-beta-section {
            position: relative;
            border-radius: 20px;
            margin-top: 24px;
            overflow: hidden;
            background: rgba(8, 8, 10, 0.94);
            border: 1px solid rgba(255, 255, 255, 0.09);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5), 0 24px 80px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.07);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
        }

        .xr-beta-section::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(var(--ui-accent-rgb), 0.45) 50%, transparent 100%);
            pointer-events: none;
            z-index: 2;
        }

        .xr-beta-header-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px 24px 14px;
            gap: 14px;
            flex-wrap: wrap;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            background: rgba(255, 255, 255, 0.015);
        }

        .xr-beta-brand {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .xr-beta-icon-box {
            width: 38px;
            height: 38px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.35);
            box-shadow: 0 0 12px rgba(var(--ui-accent-rgb), 0.15);
            font-size: 19px;
            font-weight: 900;
            color: rgb(var(--ui-accent-rgb));
            font-family: var(--header-font);
        }

        .xr-beta-title-wrap {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }

        .xr-beta-main-title {
            font-family: var(--header-font);
            font-size: 15px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #ffffff;
            line-height: 1.2;
        }

        .xr-beta-subtitle-text {
            font-family: var(--body-font);
            font-size: 11.5px;
            color: rgba(255, 255, 255, 0.52);
            line-height: 1.3;
        }

        .xr-beta-meta-chips {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .xr-beta-meta-chip {
            font-size: 10px;
            font-weight: 700;
            font-family: var(--mono-font);
            padding: 4px 10px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.75);
            letter-spacing: 0.04em;
        }

        /* ── Compact Executive KPI Ribbon ── */
        .xr-beta-kpi-ribbon {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
            padding: 14px 20px;
            background: rgba(255, 255, 255, 0.015);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        @media (max-width: 900px) {
            .xr-beta-kpi-ribbon {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media (max-width: 540px) {
            .xr-beta-kpi-ribbon {
                grid-template-columns: 1fr;
            }
        }

        .xr-beta-kpi-tile {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 10px;
            padding: 10px 14px;
            display: flex;
            flex-direction: column;
            gap: 6px;
            position: relative;
            overflow: hidden;
        }

        .xr-beta-kpi-tile::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 2px;
            background: var(--kpi-accent, rgba(var(--ui-accent-rgb), 0.4));
        }

        .xr-beta-kpi-label {
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.4);
            font-family: var(--mono-font);
        }

        .xr-beta-kpi-val-row {
            display: flex;
            align-items: baseline;
            gap: 8px;
        }

        .xr-beta-kpi-value {
            font-size: 20px;
            font-weight: 900;
            font-family: var(--mono-font);
            line-height: 1;
            color: #ffffff;
        }

        .xr-beta-kpi-badge {
            font-size: 9px;
            font-weight: 800;
            font-family: var(--mono-font);
            padding: 2px 6px;
            border-radius: 4px;
            letter-spacing: 0.05em;
            text-transform: uppercase;
        }

        .xr-beta-kpi-sub {
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.45);
            line-height: 1.3;
        }

        .xr-beta-seg-meter {
            height: 4px;
            background: rgba(255, 255, 255, 0.08);
            border-radius: 2px;
            overflow: hidden;
            display: flex;
            margin: 1px 0;
        }

        .xr-beta-seg-pass { background: #08d181; }
        .xr-beta-seg-fail { background: #ff4757; }
        .xr-beta-seg-null { background: rgba(255, 255, 255, 0.15); }

        /* ── Structured CIO Audit Synthesis ── */
        .xr-beta-synthesis-card {
            margin: 14px 20px;
            padding: 14px 18px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-left: 3px solid rgba(var(--ui-accent-rgb), 0.85);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        }

        .xr-beta-synthesis-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 12px;
        }

        .xr-beta-synthesis-title-wrap {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.95);
            font-family: var(--mono-font);
        }

        .xr-beta-toggle-memo-btn {
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.7);
            font-size: 10px;
            font-weight: 700;
            font-family: var(--mono-font);
            padding: 4px 10px;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.15s;
        }

        .xr-beta-toggle-memo-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.25);
        }

        /* 5 Specialist Domain Mini-Cards */
        .xr-beta-domain-chips-rack {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 8px;
            margin-bottom: 12px;
        }

        @media (max-width: 900px) {
            .xr-beta-domain-chips-rack {
                grid-template-columns: repeat(3, 1fr);
            }
        }
        @media (max-width: 600px) {
            .xr-beta-domain-chips-rack {
                grid-template-columns: 1fr;
            }
        }

        .xr-beta-domain-chip {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            padding: 8px 10px;
            cursor: pointer;
            transition: all 0.15s;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .xr-beta-domain-chip:hover {
            background: rgba(var(--agent-accent-rgb, var(--ui-accent-rgb)), 0.12);
            border-color: rgba(var(--agent-accent-rgb, var(--ui-accent-rgb)), 0.4);
            transform: translateY(-1px);
        }

        .xr-beta-domain-chip-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
        }

        .xr-beta-domain-chip-name {
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.75);
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .xr-beta-domain-chip-score {
            font-family: var(--mono-font);
            font-size: 13px;
            font-weight: 900;
        }

        .xr-beta-domain-chip-sub {
            font-size: 9.5px;
            color: rgba(255, 255, 255, 0.45);
            font-family: var(--mono-font);
        }

        .xr-beta-synthesis-highlight {
            font-size: 12.5px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.88);
            font-family: var(--body-font);
            padding: 8px 12px;
            background: rgba(255, 255, 255, 0.02);
            border-radius: 6px;
            border-left: 2px solid rgba(var(--ui-accent-rgb), 0.5);
        }

        .xr-beta-synthesis-memo {
            margin-top: 10px;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
            font-size: 12px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.75);
            font-family: var(--body-font);
            display: none;
        }

        /* ── Dedicated Audit Dossier (Breaches & Strengths) ── */
        .xr-beta-dossier-box {
            margin: 0 20px 14px;
            background: rgba(255, 255, 255, 0.015);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 12px;
            padding: 14px 16px;
        }

        .xr-beta-dossier-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 12px;
            flex-wrap: wrap;
        }

        .xr-beta-dossier-tabs {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .xr-beta-dossier-tab-btn {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.65);
            font-size: 11px;
            font-weight: 700;
            font-family: var(--mono-font);
            padding: 5px 12px;
            border-radius: 7px;
            cursor: pointer;
            transition: all 0.15s;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .xr-beta-dossier-tab-btn:hover {
            background: rgba(255, 255, 255, 0.07);
            color: #ffffff;
        }

        .xr-beta-dossier-tab-btn.active.is-critical {
            background: rgba(255, 46, 46, 0.16);
            border-color: rgba(255, 46, 46, 0.45);
            color: #ff6e6e;
            box-shadow: 0 0 10px rgba(255, 46, 46, 0.2);
        }

        .xr-beta-dossier-tab-btn.active.is-strengths {
            background: rgba(8, 209, 129, 0.16);
            border-color: rgba(8, 209, 129, 0.45);
            color: #08d181;
            box-shadow: 0 0 10px rgba(8, 209, 129, 0.2);
        }

        .xr-beta-dossier-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
            gap: 8px;
            max-height: 240px;
            overflow-y: auto;
            padding-right: 4px;
        }

        .xr-beta-dossier-grid::-webkit-scrollbar {
            width: 4px;
        }
        .xr-beta-dossier-grid::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.18);
            border-radius: 2px;
        }

        .xr-beta-dossier-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 8px;
            padding: 9px 12px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            cursor: pointer;
            transition: all 0.15s;
            position: relative;
        }

        .xr-beta-dossier-card:hover {
            background: rgba(255, 255, 255, 0.05);
            transform: translateY(-1px);
        }

        .xr-beta-dossier-card.is-bad {
            border-left: 3px solid #ff4757;
        }

        .xr-beta-dossier-card.is-good {
            border-left: 3px solid #08d181;
        }

        .xr-beta-dossier-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 6px;
        }

        .xr-beta-dossier-tag {
            font-size: 9px;
            font-weight: 800;
            font-family: var(--mono-font);
            padding: 1px 6px;
            border-radius: 4px;
            letter-spacing: 0.04em;
        }

        .xr-beta-dossier-card-title {
            font-size: 11.5px;
            font-weight: 700;
            color: #ffffff;
            line-height: 1.3;
        }

        .xr-beta-dossier-card-desc {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.45);
            line-height: 1.3;
        }

        .xr-beta-dossier-jump-hint {
            font-size: 9.5px;
            font-weight: 700;
            font-family: var(--mono-font);
            color: rgba(var(--ui-accent-rgb), 0.85);
            margin-top: 2px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        /* ── Controls Ribbon (Domain Tabs + Search Bar + Filters) ── */
        .xr-beta-toolbar {
            padding: 0 20px 14px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .xr-beta-domain-tabs {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            padding-bottom: 10px;
        }

        .xr-beta-domain-tab-btn {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.65);
            font-size: 11px;
            font-weight: 700;
            font-family: var(--mono-font);
            padding: 6px 12px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.15s;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .xr-beta-domain-tab-btn:hover {
            background: rgba(255, 255, 255, 0.07);
            color: #ffffff;
        }

        .xr-beta-domain-tab-btn.active {
            background: rgba(var(--ui-accent-rgb), 0.18);
            border-color: rgba(var(--ui-accent-rgb), 0.55);
            color: #ffffff;
            box-shadow: 0 0 12px rgba(var(--ui-accent-rgb), 0.25);
        }

        .xr-beta-filter-controls {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
        }

        /* Live Search Wrap */
        .xr-beta-search-wrap {
            position: relative;
            display: flex;
            align-items: center;
            flex: 1;
            min-width: 240px;
            max-width: 420px;
        }

        .xr-beta-search-icon {
            position: absolute;
            left: 10px;
            width: 13px;
            height: 13px;
            color: rgba(255, 255, 255, 0.35);
            pointer-events: none;
        }

        .xr-beta-search-input {
            width: 100%;
            padding: 6px 28px 6px 30px;
            background: rgba(255, 255, 255, 0.035);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 7px;
            font-family: var(--body-font);
            font-size: 11.5px;
            color: #ffffff;
            outline: none;
            transition: all 0.15s;
        }

        .xr-beta-search-input:focus {
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(var(--ui-accent-rgb), 0.55);
            box-shadow: 0 0 10px rgba(var(--ui-accent-rgb), 0.18);
        }

        .xr-beta-search-clear {
            position: absolute;
            right: 8px;
            background: none;
            border: none;
            color: rgba(255, 255, 255, 0.4);
            font-size: 12px;
            cursor: pointer;
            padding: 2px 4px;
        }
        .xr-beta-search-clear:hover { color: #fff; }

        .xr-beta-filter-group {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-wrap: wrap;
        }

        .xr-beta-filter-btn {
            appearance: none;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.10);
            color: rgba(255, 255, 255, 0.7);
            font-size: 10.5px;
            font-weight: 700;
            font-family: var(--mono-font);
            padding: 5px 10px;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.15s;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }

        .xr-beta-filter-btn:hover {
            background: rgba(255, 255, 255, 0.08);
            color: #ffffff;
        }

        .xr-beta-filter-btn.active {
            background: rgba(var(--ui-accent-rgb), 0.16);
            border-color: rgba(var(--ui-accent-rgb), 0.5);
            color: #ffffff;
        }

        .xr-beta-filter-btn--bad.active {
            background: rgba(255, 46, 46, 0.18);
            border-color: rgba(255, 46, 46, 0.5);
            color: #ff7575;
        }

        .xr-beta-filter-btn--good.active {
            background: rgba(8, 209, 129, 0.18);
            border-color: rgba(8, 209, 129, 0.5);
            color: #08d181;
        }

        /* ── Specialist Agent Card ── */
        .xr-beta-agent-card {
            border-radius: 12px;
            margin: 0 20px 10px;
            overflow: hidden;
            background: rgba(14, 14, 18, 0.75);
            border: 1px solid rgba(255, 255, 255, 0.07);
            transition: border-color 0.2s, background 0.2s;
        }

        .xr-beta-agent-card:hover {
            border-color: rgba(var(--agent-accent-rgb), 0.35);
            background: rgba(18, 18, 24, 0.85);
        }

        .xr-beta-agent-header {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 16px;
            cursor: pointer;
            user-select: none;
            transition: background 0.15s;
            background: linear-gradient(90deg, rgba(var(--agent-accent-rgb), 0.05) 0%, transparent 80%);
        }

        .xr-beta-agent-header:hover {
            background: linear-gradient(90deg, rgba(var(--agent-accent-rgb), 0.10) 0%, rgba(255, 255, 255, 0.02) 80%);
        }

        .xr-beta-agent-avatar {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 11px;
            font-weight: 800;
            font-family: var(--header-font);
            background: rgba(var(--agent-accent-rgb), 0.12);
            border: 1px solid rgba(var(--agent-accent-rgb), 0.35);
            color: rgb(var(--agent-accent-rgb));
        }

        .xr-beta-agent-meta-col {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .xr-beta-agent-name {
            font-family: var(--header-font);
            font-size: 13px;
            font-weight: 800;
            color: #ffffff;
            line-height: 1.2;
            letter-spacing: 0.02em;
        }

        .xr-beta-agent-domain-sub {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.45);
        }

        /* Segmented Mini Progress Bar */
        .xr-beta-agent-bar-wrap {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-right: 14px;
            flex-shrink: 0;
        }

        .xr-beta-agent-bar {
            width: 90px;
            height: 5px;
            background: rgba(255, 255, 255, 0.06);
            border-radius: 3px;
            overflow: hidden;
            display: flex;
        }

        .xr-beta-agent-metrics {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-shrink: 0;
        }

        .xr-beta-agent-score-tile {
            text-align: right;
        }

        .xr-beta-agent-score-val {
            font-size: 14px;
            font-weight: 900;
            font-family: var(--mono-font);
            line-height: 1;
        }

        .xr-beta-agent-score-label {
            font-size: 8px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.35);
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-top: 2px;
            font-family: var(--mono-font);
        }

        .xr-beta-agent-chev {
            width: 14px;
            height: 14px;
            stroke: rgba(255, 255, 255, 0.35);
            transition: transform 0.2s;
            flex-shrink: 0;
        }

        .xr-beta-agent-thesis {
            padding: 10px 14px;
            margin: 0 16px 10px;
            background: rgba(var(--agent-accent-rgb), 0.04);
            border-left: 3px solid rgba(var(--agent-accent-rgb), 0.4);
            border-radius: 0 8px 8px 0;
            font-family: var(--body-font);
            font-size: 12px;
            line-height: 1.55;
            color: rgba(255, 255, 255, 0.72);
        }

        .xr-beta-agent-body {
            padding: 0 16px 14px;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
        }

        .xr-beta-checklist-grid {
            display: flex;
            flex-direction: column;
            gap: 2px;
            border-radius: 8px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.06);
            background: rgba(0, 0, 0, 0.25);
        }

        .xr-beta-signal-row {
            display: grid;
            grid-template-columns: 85px 1fr auto;
            align-items: center;
            gap: 12px;
            padding: 8px 14px 8px 0;
            background: rgba(255, 255, 255, 0.01);
            border-left: 3px solid transparent;
            transition: background 0.12s;
        }

        .xr-beta-signal-row:nth-child(even) {
            background: rgba(255, 255, 255, 0.02);
        }

        .xr-beta-signal-row:hover {
            background: rgba(255, 255, 255, 0.04);
        }

        .xr-beta-signal-row.is-pass {
            border-left-color: #08d181;
        }

        .xr-beta-signal-row.is-fail {
            border-left-color: #ff3b3b;
            background: rgba(255, 46, 46, 0.03);
        }

        .xr-beta-signal-row.is-critical-fail {
            border-left-color: #ff2e2e;
            background: rgba(255, 46, 46, 0.07);
        }

        .xr-beta-signal-row.is-null {
            border-left-color: rgba(255, 255, 255, 0.08);
            opacity: 0.55;
        }

        @keyframes xrSignalPulse {
            0% { background: rgba(255, 255, 255, 0.02); }
            30% { background: rgba(var(--ui-accent-rgb), 0.35); box-shadow: inset 0 0 15px rgba(var(--ui-accent-rgb), 0.5); }
            100% { background: rgba(255, 255, 255, 0.02); }
        }
        .xr-beta-signal-row.is-jump-highlighted {
            animation: xrSignalPulse 2.5s ease-out;
        }

        .xr-beta-signal-qid-col {
            display: flex;
            align-items: center;
            gap: 6px;
            padding-left: 12px;
        }

        .xr-beta-qid-text {
            font-size: 10px;
            font-weight: 800;
            font-family: var(--mono-font);
            color: rgba(255, 255, 255, 0.35);
        }

        .xr-beta-priority-badge {
            font-size: 8px;
            font-weight: 800;
            font-family: var(--mono-font);
            padding: 1px 5px;
            border-radius: 3px;
            letter-spacing: 0.04em;
        }
        .xr-beta-priority-badge--high {
            background: rgba(255, 46, 46, 0.15);
            color: #ff6e6e;
            border: 1px solid rgba(255, 46, 46, 0.3);
        }
        .xr-beta-priority-badge--moderate {
            background: rgba(255, 165, 2, 0.12);
            color: #ffa502;
            border: 1px solid rgba(255, 165, 2, 0.25);
        }
        .xr-beta-priority-badge--minor {
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .xr-beta-label-col {
            display: flex;
            flex-direction: column;
            gap: 2px;
            min-width: 0;
        }

        .xr-beta-label-text {
            font-family: var(--body-font);
            font-size: 12px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.85);
            line-height: 1.35;
        }

        .xr-beta-desc-text {
            font-family: var(--body-font);
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.42);
            line-height: 1.3;
        }

        .xr-beta-status-col {
            display: flex;
            align-items: center;
            gap: 6px;
            flex-shrink: 0;
        }

        .xr-beta-status-pill {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            font-size: 9px;
            font-weight: 800;
            font-family: var(--mono-font);
            letter-spacing: 0.06em;
            padding: 3px 8px;
            border-radius: 5px;
            min-width: 54px;
            justify-content: center;
        }

        .xr-beta-status-pill--pass {
            background: rgba(8, 209, 129, 0.14);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.3);
        }

        .xr-beta-status-pill--fail {
            background: rgba(255, 46, 46, 0.14);
            color: #ff4a4a;
            border: 1px solid rgba(255, 46, 46, 0.3);
        }

        .xr-beta-status-pill--null {
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        /* Dimension-card BETA signal strip */
        .xr-dim-signals-wrap {
            margin: 0 0 14px 0;
            padding: 10px 12px 8px 12px;
            background: rgba(var(--ui-accent-rgb), 0.03);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.08);
            border-radius: 8px;
        }
        .xr-dim-signals-hdr {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 8px;
            padding-bottom: 6px;
            border-bottom: 1px solid rgba(255,255,255,0.04);
        }
        .xr-dim-signals-hdr-label {
            font-size: 8px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb), 0.45);
        }
        .xr-dim-signals-hdr-count {
            font-size: 8px;
            font-weight: 700;
            color: rgba(255,255,255,0.22);
            font-family: var(--mono-font);
        }
        .xr-dim-sig-row {
            display: grid;
            grid-template-columns: 1fr auto;
            grid-template-rows: auto auto;
            gap: 2px 8px;
            padding: 5px 0;
            min-height: 26px;
            position: relative;
            align-items: center;
        }
        .xr-dim-sig-row + .xr-dim-sig-row {
            border-top: 1px solid rgba(255,255,255,0.03);
        }
        /* HIGH-priority FAIL: red left-accent + pulsing dot */
        .xr-dim-sig-row--high-fail {
            border-left: 2px solid rgba(255, 46, 46, 0.50);
            padding-left: 8px;
            background: rgba(255, 46, 46, 0.025);
        }
        .xr-dim-sig-row--high-fail::before {
            content: '';
            position: absolute;
            left: -1px;
            top: 50%;
            transform: translateY(-50%);
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: rgb(255, 46, 46);
            box-shadow: 0 0 6px rgba(255, 46, 46, 0.6);
            animation: xrHighFailPulse 2s ease-in-out infinite;
        }
        @keyframes xrHighFailPulse {
            0%, 100% { opacity: 1; box-shadow: 0 0 6px rgba(255, 46, 46, 0.6); }
            50% { opacity: 0.4; box-shadow: 0 0 2px rgba(255, 46, 46, 0.3); }
        }
        .xr-dim-sig-pill {
            display: inline-flex;
            align-items: center;
            gap: 3px;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.06em;
            padding: 2px 6px;
            border-radius: 3px;
            min-width: 38px;
            justify-content: center;
            flex-shrink: 0;
            grid-column: 2;
            grid-row: 1;
        }
        .xr-dim-sig-pill--pass {
            background: rgba(8, 209, 129, 0.10);
            color: rgb(8, 209, 129);
        }
        .xr-dim-sig-pill--fail {
            background: rgba(255, 46, 46, 0.10);
            color: rgb(255, 46, 46);
        }
        .xr-dim-sig-label {
            font-size: 12px;
            color: rgba(255,255,255,0.85);
            grid-column: 1;
            grid-row: 1;
            line-height: 1.3;
            min-width: 0;
        }
        .xr-dim-sig-src {
            display: none;
        }
        .xr-dim-sig-overflow {
            /* hidden by default via inline style, toggled by JS */
        }
        .xr-dim-sig-expand-btn {
            display: block;
            width: 100%;
            margin-top: 4px;
            padding: 5px 0;
            background: rgba(var(--ui-accent-rgb), 0.04);
            border: 1px solid rgba(var(--ui-accent-rgb), 0.10);
            border-radius: 5px;
            color: rgba(var(--ui-accent-rgb), 0.55);
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            cursor: pointer;
            transition: background 0.15s, color 0.15s;
        }
        .xr-dim-sig-expand-btn:hover {
            background: rgba(var(--ui-accent-rgb), 0.08);
            color: rgba(var(--ui-accent-rgb), 0.80);
        }

        /* DeepSeek BETA disclaimer banner — shown above company name for deepseek-mode reports */
        .xr-deepseek-beta-banner {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            background: rgba(216, 188, 77, 0.07);
            border: 1px solid rgba(216, 188, 77, 0.30);
            border-radius: 10px;
            padding: 11px 15px;
            margin-bottom: 14px;
            font-size: 11px;
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.6);
        }

        .xr-deepseek-beta-banner__icon {
            flex-shrink: 0;
            margin-top: 1px;
            color: #D8BC4D;
        }

        .xr-deepseek-beta-banner__title {
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.10em;
            text-transform: uppercase;
            color: #D8BC4D;
            margin-bottom: 3px;
        }

        .xr-deepseek-beta-banner__body {
            font-size: 11px;
            color: rgba(255, 255, 255, 0.5);
            line-height: 1.5;
        }

        /* Key numbers triptych */
        .xr-hero-kpi-row {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-items: flex-start;
            gap: 0;
            padding: 20px 32px 24px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .xr-kpi-verdict,
        .xr-kpi-score,
        .xr-kpi-price,
        .xr-kpi-beta {
            min-width: 0;
        }

        .xr-kpi-beta {
            flex: 0 1 auto;
            display: flex;
            flex-direction: column;
            gap: 6px;
            align-items: flex-start;
        }

        /* ── Sparkline bar tooltip popover ── */
        .xr-spark-bar {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1px;
            cursor: default;
        }

        .xr-spark-tip {
            display: none;
            position: absolute;
            bottom: calc(100% + 8px);
            left: 50%;
            transform: translateX(-50%);
            background: rgba(12, 12, 18, 0.95);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 8px;
            padding: 8px 12px;
            white-space: nowrap;
            pointer-events: none;
            z-index: 20;
            backdrop-filter: blur(12px);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
        }

        .xr-spark-bar:hover .xr-spark-tip {
            display: block;
        }

        .xr-spark-tip-name {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.55);
            margin-bottom: 4px;
        }

        .xr-spark-tip-pct {
            font-family: var(--mono-font);
            font-size: 16px;
            font-weight: 800;
            line-height: 1;
            margin-bottom: 4px;
        }

        .xr-spark-tip-counts {
            font-family: var(--mono-font);
            font-size: 9px;
            color: rgba(255, 255, 255, 0.45);
            display: flex;
            gap: 8px;
        }

        .xr-hero-kpi-divider {
            width: 1px;
            align-self: stretch;
            background: rgba(255, 255, 255, 0.07);
            margin: 0 20px;
            flex-shrink: 0;
        }

        .xr-kpi-verdict {
            flex: 2 1 200px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
            overflow: hidden;
        }

        .xr-kpi-label {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
            margin-bottom: 2px;
        }

        .xr-kpi-verdict-word {
            font-family: var(--header-font);
            font-size: clamp(2rem, 5vw, 4rem);
            font-weight: 900;
            letter-spacing: -0.03em;
            line-height: 1;
            text-transform: uppercase;
            max-width: 100%;
            background: var(--xr-verdict-grad, currentColor);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .xr-kpi-score {
            flex: 1 1 110px;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .xr-kpi-score-number {
            display: flex;
            align-items: baseline;
            gap: 3px;
        }

        .xr-kpi-score-big {
            font-family: 'Inter', var(--mono-font);
            font-size: clamp(3rem, 6vw, 5rem);
            font-weight: 1000;
            line-height: 1;
            background: var(--xr-score-grad, currentColor);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .xr-kpi-score-denom {
            display: none;
        }

        /* 5-segment score bar */
        .xr-score-segs {
            display: flex;
            gap: 3px;
            margin-top: 6px;
        }

        .xr-score-seg {
            height: 3px;
            flex: 1;
            border-radius: 2px;
            background: rgba(255, 255, 255, 0.08);
            transition: background 0.3s ease;
        }

        .xr-score-seg.filled {
            background: var(--xr-score-color, rgba(255, 255, 255, 0.5));
        }

        .xr-score-seg.filled.dim {
            opacity: 0.35;
        }

        .xr-kpi-price {
            flex: 1 1 110px;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
            justify-content: flex-start;
        }

        .xr-kpi-price-row {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            flex-wrap: wrap;
        }

        .xr-price-current {
            font-family: var(--mono-font);
            font-size: 1.2rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.55);
        }

        .xr-price-arrow {
            color: rgba(255, 255, 255, 0.22);
            font-size: 14px;
        }

        .xr-price-target {
            font-family: var(--mono-font);
            font-size: 1.5rem;
            font-weight: 700;
        }

        .xr-price-upside {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-family: var(--mono-font);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.04em;
            padding: 3px 8px;
            border-radius: 20px;
            background: rgba(8, 209, 129, 0.12);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.25);
        }

        /* Meta badges row */
        .xr-hero-meta-badges {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 10px;
        }

        /* Synthesis text section */
        .xr-hero-synthesis {
            padding: 24px 32px 28px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .xr-hero-synthesis-label {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.28);
        }

        .xr-hero-synthesis-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .xr-hero-synthesis-text {
            font-size: 16px;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.88);
            font-family: var(--body-font);
            font-weight: 430;
            border-left: 2px solid var(--xr-verdict-color, rgba(255, 255, 255, 0.12));
            padding-left: 20px;
            margin-left: 0;
        }

        @media (max-width: 768px) {
            .xr-hero-kpi-row {
                flex-direction: column;
                gap: 16px;
                padding: 16px 18px 20px;
            }

            .xr-hero-kpi-divider {
                display: none;
            }

            .xr-hero-identity {
                padding: 16px 18px 0;
            }

            .xr-hero-synthesis {
                padding: 14px 18px 20px;
            }

            .xr-kpi-verdict-word {
                font-size: 2.2rem;
            }

            .xr-hero-synthesis-text {
                font-size: 14px;
                padding-left: 14px;
            }

            /* Revert flex override: on mobile, verdict/score stack full-width */
            .xr-kpi-verdict,
            .xr-kpi-score,
            .xr-kpi-price,
            .xr-kpi-beta {
                flex: none;
                width: 100%;
            }
        }

        /* ── Narrow mobile: tighten KPI row 2 further ── */
        @media (max-width: 400px) {
            .xr-hero-kpi-row {
                padding: 12px 14px 16px;
                gap: 14px;
            }

            .xr-kpi-verdict-word {
                font-size: 1.8rem;
            }

            .xr-kpi-price-row {
                flex-direction: column;
                gap: 4px;
            }

            .xr-price-arrow {
                display: none;
            }

            .xr-kpi-uncertainty {
                flex: none !important;
                width: 100%;
            }
        }

        /* ══════════════════════════════════════════════════════
           READING PROGRESS BAR (Idea 1)
           ══════════════════════════════════════════════════════ */
        .xr-reading-progress {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 3px;
            z-index: 9999;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        body.results-visible .xr-reading-progress { opacity: 1; }
        .xr-reading-progress-bar {
            height: 100%;
            width: 0%;
            background: linear-gradient(90deg, var(--ui-accent), rgba(var(--ui-accent-rgb),0.6));
            border-radius: 0 2px 2px 0;
            transition: width 80ms linear;
            box-shadow: 0 0 8px rgba(var(--ui-accent-rgb),0.3);
        }
        .xr-reading-progress-section {
            position: fixed;
            top: 5px;
            right: 16px;
            z-index: 9999;
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(var(--ui-accent-rgb),0.5);
            background: rgba(10,10,14,0.85);
            padding: 3px 10px;
            border-radius: 0 0 8px 8px;
            backdrop-filter: blur(8px);
            opacity: 0;
            transition: opacity 0.3s ease;
            pointer-events: none;
        }
        body.results-visible .xr-reading-progress-section { opacity: 1; }

        /* ══════════════════════════════════════════════════════
           DIMENSION SPOTLIGHT CAROUSEL (Idea 2)
           ══════════════════════════════════════════════════════ */
        .xr-spotlight-carousel {
            display: flex;
            overflow: hidden;
            padding: 0 0 6px;
            margin: 0 -4px 8px;
        }
        .xr-spotlight-carousel::-webkit-scrollbar { display: none; }
        .xr-spotlight-track {
            display: flex;
            gap: 10px;
            animation: xr-spotlight-scroll 20s linear infinite;
            width: max-content;
        }
        .xr-spotlight-carousel:hover .xr-spotlight-track {
            animation-play-state: paused;
        }
        @keyframes xr-spotlight-scroll {
            0%   { transform: translateX(0); }
            100% { transform: translateX(calc(-100% / 3)); }
        }
        .xr-spotlight-chip {
            flex: 0 0 auto;
            min-width: 155px;
            max-width: 200px;
            background: rgba(255,255,255,0.02);
            border: 1px solid rgba(255,255,255,0.06);
            border-radius: 10px;
            padding: 10px 14px;
            display: flex;
            align-items: center;
            gap: 10px;
            transition: border-color 0.2s, transform 0.2s;
            cursor: default;
        }
        .xr-spotlight-chip:hover {
            border-color: rgba(255,255,255,0.14);
            transform: translateY(-1px);
        }
        .xr-spotlight-tag {
            font-family: var(--mono-font);
            font-size: 7px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 2px 6px;
            border-radius: 4px;
            white-space: nowrap;
        }
        .xr-spotlight-tag--strong {
            background: rgba(8,209,129,0.10);
            color: rgb(8,209,129);
        }
        .xr-spotlight-tag--median {
            background: rgba(255,255,255,0.05);
            color: rgba(255,255,255,0.40);
        }
        .xr-spotlight-tag--weak {
            background: rgba(255,46,46,0.10);
            color: rgb(255,46,46);
        }
        .xr-spotlight-dim {
            font-family: var(--body-font);
            font-size: 11px;
            font-weight: 600;
            color: rgba(255,255,255,0.70);
            flex: 1;
            min-width: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .xr-spotlight-score {
            font-family: var(--mono-font);
            font-size: 12px;
            font-weight: 800;
            white-space: nowrap;
            flex-shrink: 0;
        }

        /* ══════════════════════════════════════════════════════
           DIMENSION COMPARISON MINI-CHARTS (Idea 4)
           ══════════════════════════════════════════════════════ */
        .xr-dim-compare {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: 8px;
            padding-top: 8px;
            border-top: 1px solid rgba(255,255,255,0.04);
        }
        .xr-dim-compare-bar-wrap {
            flex: 1;
            height: 4px;
            background: rgba(255,255,255,0.06);
            border-radius: 2px;
            position: relative;
            overflow: hidden;
        }
        .xr-dim-compare-bar--company {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            border-radius: 2px;
            width: 0;
            transition: none;
        }
        .xr-dim-compare--visible .xr-dim-compare-bar--company {
            animation: xr-bar-grow 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
        }
        @keyframes xr-bar-grow {
            from { width: 0; }
            to   { width: var(--xr-bar-target); }
        }
        .xr-dim-compare-bar--avg {
            position: absolute;
            top: -3px;
            width: 1px;
            height: 10px;
            background: rgba(255,255,255,0.25);
        }
        .xr-dim-compare-label {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 600;
            color: rgba(255,255,255,0.30);
            letter-spacing: 0.04em;
            white-space: nowrap;
        }

        /* ══════════════════════════════════════════════════════
           REDESIGNED BETA SECTION (hero KPI row)
           ══════════════════════════════════════════════════════ */
        .xr-kpi-beta-redesign {
            flex: 0 1 auto;
            display: flex;
            flex-direction: column;
            gap: 8px;
            align-items: flex-start;
        }
        .xr-beta-ring-row {
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .xr-beta-ring {
            width: 48px;
            height: 48px;
            flex-shrink: 0;
        }
        .xr-beta-ring-bg {
            fill: none;
            stroke: rgba(255,255,255,0.06);
            stroke-width: 4;
        }
        .xr-beta-ring-fill {
            fill: none;
            stroke-width: 4;
            stroke-linecap: round;
            transition: stroke-dashoffset 0.8s cubic-bezier(0.22,1,0.36,1);
        }
        .xr-beta-ring-text {
            font-family: 'Inter', var(--mono-font);
            font-size: 11px;
            font-weight: 900;
            fill: rgba(255,255,255,0.88);
            text-anchor: middle;
            dominant-baseline: central;
        }
        .xr-beta-ring-meta {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        .xr-beta-ring-pct {
            font-family: 'Inter', var(--mono-font);
            font-size: 18px;
            font-weight: 900;
            line-height: 1;
        }
        .xr-beta-ring-label {
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 600;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.35);
        }
        .xr-beta-agents-mini {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
        }
        .xr-beta-agent-pip {
            display: flex;
            align-items: center;
            gap: 4px;
            font-family: var(--mono-font);
            font-size: 8px;
            font-weight: 700;
            color: rgba(255,255,255,0.45);
            letter-spacing: 0.04em;
        }
        .xr-beta-agent-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
        }

        /* ══════════════════════════════════════════════════════
           KEY UNCERTAINTY — prominent styling
           ══════════════════════════════════════════════════════ */
        .xr-kpi-uncertainty-prominent {
            flex: 1 1 200px;
            min-width: 0;
            background: rgba(255,46,46,0.04);
            border: 1px solid rgba(255,46,46,0.12);
            border-radius: 12px;
            padding: 14px 16px;
            position: relative;
            overflow: hidden;
        }
        .xr-kpi-uncertainty-prominent::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(90deg, rgba(255,46,46,0.6), rgba(255,191,0,0.3), transparent);
        }
        .xr-kpi-uncertainty-prominent .xr-kpi-label {
            color: rgba(255,80,60,0.80);
            font-size: 9px;
            display: flex;
            align-items: center;
            gap: 5px;
        }
        .xr-kpi-uncertainty-text {
            font-size: 13px;
            line-height: 1.6;
            color: rgba(255,255,255,0.82);
            font-family: var(--body-font);
            margin-top: 6px;
            font-weight: 450;
        }

        /* ══════════════════════════════════════════════════════
           2x2 SIGNAL GRID (Moat / Red Flag / Governance / AI)
           ══════════════════════════════════════════════════════ */
        .vxr-signal-grid-4 {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 16px;
        }
        .vxr-signal-grid-4 .vxr-signal-card {
            padding: 22px 24px;
        }
        .vxr-signal-card.governance-card {
            border-color: rgba(60,210,200,0.25);
            background: linear-gradient(135deg, rgba(60,210,200,0.06), transparent);
        }
        .vxr-signal-card.governance-card .vxr-signal-card-header {
            color: rgba(60,210,200,0.85);
        }
        .vxr-signal-card.ai-card {
            border-color: rgba(162,89,255,0.25);
            background: linear-gradient(135deg, rgba(162,89,255,0.36), transparent);
        }
        .vxr-signal-card.ai-card .vxr-signal-card-header {
            color: rgba(162,89,255,0.85);
        }
        @media (max-width: 768px) {
            .vxr-signal-grid-4 {
                grid-template-columns: 1fr;
                gap: 12px;
            }
            .vxr-signal-grid-4 .vxr-signal-card {
                padding: 16px 16px;
            }
        }

        /* ══════════════════════════════════════════════════════
           SUPERINVESTOR MINI AVATARS (after hero synthesis)
           ══════════════════════════════════════════════════════ */
        .xr-si-mini-row {
            display: flex;
            gap: 14px;
            padding: 0 32px 20px;
        }
        .xr-si-mini-card {
            --si-accent: #b0b0b0;
            --si-accent-rgb: 176,176,176;
            flex: 1;
            display: flex;
            align-items: flex-start;
            gap: 12px;
            background: linear-gradient(135deg, rgba(var(--si-accent-rgb),0.06) 0%, transparent 100%);
            border: 1px solid rgba(var(--si-accent-rgb),0.12);
            border-radius: 14px;
            padding: 14px 16px;
            transition: border-color 0.25s, box-shadow 0.25s, transform 0.2s;
            box-shadow: inset 3px 0 0 rgba(var(--si-accent-rgb),0.35);
        }
        .xr-si-mini-card--buffett { --si-accent: #f5a623; --si-accent-rgb: 245,166,35; }
        .xr-si-mini-card--klarman { --si-accent: #5e9bff; --si-accent-rgb: 94,155,255; }
        .xr-si-mini-card:hover {
            border-color: rgba(var(--si-accent-rgb),0.25);
            box-shadow: inset 3px 0 0 rgba(var(--si-accent-rgb),0.55),
                        0 0 0 1px rgba(var(--si-accent-rgb),0.12),
                        0 0 24px rgba(var(--si-accent-rgb),0.06);
        }
        /* Avatar icon with spinning conic ring (ported from full avatar-card) */
        .xr-si-mini-icon {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            flex-shrink: 0;
            position: relative;
            overflow: visible;
            background: #1a1a1e;
            box-shadow: 0 0 0 1.5px rgba(var(--si-accent-rgb),0.28),
                        0 0 6px rgba(var(--si-accent-rgb),0.10);
        }
        .xr-si-mini-icon img {
            width: 100%; height: 100%; object-fit: cover;
            border-radius: 50%; position: relative; z-index: 2; display: block;
        }
        .xr-si-mini-icon::before {
            content: ''; position: absolute; inset: 1px;
            border-radius: 50%; background: #1a1a1e; z-index: 1;
        }
        .xr-si-mini-icon::after {
            content: ''; position: absolute; inset: -4px;
            border-radius: 50%;
            background: conic-gradient(
                transparent 0deg, transparent 200deg,
                rgba(var(--si-accent-rgb),0.7) 260deg,
                var(--si-accent) 300deg,
                rgba(var(--si-accent-rgb),0.7) 340deg,
                transparent 360deg);
            animation: avatar-ring-spin 2s linear infinite;
            animation-play-state: paused;
            opacity: 0; transition: opacity 0.35s ease; z-index: 0;
        }
        .xr-si-mini-card:hover .xr-si-mini-icon::after {
            animation-play-state: running; opacity: 1;
        }
        .xr-si-mini-meta {
            min-width: 0;
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        .xr-si-mini-name {
            font-size: 12px;
            font-weight: 800;
            color: var(--si-accent);
            letter-spacing: -0.01em;
            line-height: 1.2;
        }
        .xr-si-mini-sub {
            font-size: 9px;
            color: rgba(255,255,255,0.35);
            font-weight: 500;
        }
        .xr-si-mini-badge {
            display: inline-block;
            font-size: 7px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--si-accent);
            background: rgba(var(--si-accent-rgb),0.08);
            border: 1px solid rgba(var(--si-accent-rgb),0.25);
            border-radius: 5px;
            padding: 1.5px 6px;
            margin-top: 3px;
            width: fit-content;
        }
        .xr-si-mini-quote {
            font-size: 12px;
            color: rgba(255,255,255,0.50);
            line-height: 1.5;
            margin-top: 6px;
            padding-top: 6px;
            border-top: 1px solid rgba(var(--si-accent-rgb),0.08);
        }
        @media (max-width: 768px) {
            .xr-si-mini-row { padding: 0 18px 16px; gap: 10px; }
            .xr-si-mini-card { padding: 10px 12px; }
        }
        @media (max-width: 500px) {
            .xr-si-mini-row { flex-direction: column; }
        }

        /* ══════════════════════════════════════════════════════
           ANIMATED SCORE & VERDICT (Apple-like)
           ══════════════════════════════════════════════════════ */
        @keyframes xr-score-reveal {
            0% { opacity: 0; transform: scale(0.6) translateY(10px); filter: blur(8px); }
            60% { opacity: 1; transform: scale(1.05) translateY(-2px); filter: blur(0); }
            100% { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); }
        }
        @keyframes xr-verdict-slide {
            0% { opacity: 0; transform: translateX(-20px); filter: blur(6px); }
            70% { opacity: 1; transform: translateX(2px); filter: blur(0); }
            100% { opacity: 1; transform: translateX(0); filter: blur(0); }
        }
        @keyframes xr-score-glow {
            0%, 100% { text-shadow: 0 0 0 transparent; }
            50% { text-shadow: 0 0 30px rgba(var(--ui-accent-rgb), 0.15); }
        }
        .xr-kpi-score-big {
            animation: xr-score-reveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both,
                       xr-score-glow 3s ease-in-out 1.5s infinite;
        }
        .xr-kpi-verdict-word {
            animation: xr-verdict-slide 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
        }
        @media (max-width: 768px) {

            /* Results wrapper padding */
            .report-content-wrapper {
                padding: 0;
            }

            /* Top nav: compact, wrap gracefully */
            .result-topnav {
                padding: 10px 14px;
                gap: 8px;
                flex-wrap: wrap;
            }

            .result-topnav-brand img {
                width: 64px;
                height: 22px;
            }

            .result-topnav-links {
                gap: 5px;
                flex-wrap: wrap;
            }

            .result-topnav-link {
                padding: 6px 10px;
                font-size: 10px;
                gap: 4px;
            }

            /* Dimension trio grid: 1 column on mobile */
            .dim-trio-grid {
                grid-template-columns: 1fr !important;
                gap: 12px;
            }

            .dim-trio-section {
                padding: 18px 16px;
            }

            .dim-trio-body {
                font-size: 13px;
                max-width: none;
            }

            /* Dimension scorecard grid: 2 columns on mobile, 1 on very small */
            .dim-scorecard-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 8px;
            }

            .dim-scorecard-card {
                padding: 14px 12px 12px;
            }

            /* Metrics grid: 2 columns */
            .metrics-grid {
                grid-template-columns: repeat(2, 1fr) !important;
                gap: 8px;
            }

            /* Composite score panel: tighten */
            .composite-score-panel {
                padding: 18px 16px 16px !important;
            }

            /* XPS header: stack score below wordmark on narrow screens */
            .xps-header-row {
                flex-direction: column !important;
                align-items: flex-start !important;
            }

            .xps-header-row>div:last-child {
                text-align: left !important;
            }

            .xps-header-row>div:last-child>div:first-child {
                justify-content: flex-start !important;
            }

            /* Financial flow: stack columns */
            .financial-flow-section>div[style*="grid"] {
                display: flex !important;
                flex-direction: column;
                gap: 24px;
            }

            /* Verdict banner cards */
            .verdict-banner {
                padding: 16px !important;
            }

            .verdict-executive-dashboard {
                gap: 14px;
            }

            .vxr-verdict-hero {
                padding: 18px 16px 16px;
            }

            .vxr-scorecard-section {
                padding: 18px 16px 16px;
            }

            /* Layout grid (2-col verdict sections) */
            .layout-grid {
                grid-template-columns: 1fr !important;
            }

            /* Signal / avatar cards */
            .vxr-signal-card,
            .avatar-card {
                padding: 16px;
            }

            .superinvestor-grid {
                grid-template-columns: 1fr;
            }

            /* Hero card */
            .xr-hero-card,
            .xr-beta-section {
                border-radius: 14px;
            }

            /* Report section spacing */
            #results-view .verdict-banner,
            #results-view .dim-trio-section {
                margin-bottom: 14px;
            }

            /* Lazy section toggles: larger tap target */
            .lazy-section-toggle {
                padding: 14px 16px;
                min-height: 52px;
            }

            /* Peer reports: already 2-col at 900px, 1-col at 540px — fine */

            /* Synthesis text */
            .xr-hero-synthesis-text {
                font-size: 14px;
                line-height: 1.6;
            }

            /* Timeline: already hidden at 768px */

            /* TL;DR strip — handled by @media in main CSS block */

            /* ── Mobile fix: KEY UNCERTAINTY overflow ── */
            .xr-kpi-uncertainty-prominent {
                flex: 1 1 100%;
                min-width: 0;
                word-break: break-word;
            }

            /* ── Mobile fix: XPS brand text wrapping ── */
            .xps-brand-text {
                white-space: normal;
                font-size: 18px;
                word-break: break-word;
            }

            /* ── Mobile fix: dim scorecard cards row layout ── */
            .dim-scorecard-card {
                min-width: 0;
            }
            .dim-scorecard-content {
                min-width: 0;
                overflow: hidden;
            }
            .dim-scorecard-oneliner {
                word-break: break-word;
            }

            /* ── Mobile fix: beta ring row ── */
            .xr-kpi-beta-redesign {
                flex: 1 1 auto;
                min-width: 0;
            }

            /* ── Mobile fix: hero KPI row stacking ── */
            .xr-hero-kpi-row {
                flex-wrap: wrap;
            }
        }

        @media (max-width: 480px) {
            .dim-scorecard-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 6px;
            }

            .dim-scorecard-card {
                padding: 10px 10px 9px;
                border-radius: 8px;
            }

            .dim-scorecard-score-col {
                width: 40px;
                padding: 8px 0;
            }

            .dim-scorecard-num {
                font-size: 20px;
            }

            .xps-brand-text {
                font-size: 15px;
            }

            .xr-kpi-uncertainty-text {
                font-size: 12px;
            }

            .metrics-grid {
                grid-template-columns: repeat(2, 1fr) !important;
            }

            .result-topnav-links .result-topnav-link:not(.primary) {
                display: none;
            }

            .result-topnav-links .result-topnav-link.primary {
                display: inline-flex;
            }

            .xr-kpi-verdict-word {
                font-size: 1.9rem;
            }

            /* 8-bit + share still accessible */
            .result-topnav-link.terminal,
            .result-topnav-link.share {
                display: inline-flex;
            }
        }

        /* ══════════════════════════════════════════════════════════════
           INVESTMENT VERDICT SECTION — full redesign
           ══════════════════════════════════════════════════════════════ */

        /* Outer dashboard: now full-width column flow, no arbitrary split */
        .verdict-executive-dashboard {
            display: flex;
            flex-direction: column;
            gap: 20px;
            width: 100%;
            min-width: 0;
            margin-top: 0;
        }

        /* ── 1. Verdict hero block ── */
        .vxr-verdict-hero {
            display: flex;
            flex-direction: column;
            gap: 14px;
            padding: 28px 32px 24px;
            background: rgba(8, 8, 10, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            position: relative;
            overflow: hidden;
        }

        .vxr-verdict-hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: var(--xr-hero-shimmer, linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent));
            pointer-events: none;
        }

        .vxr-verdict-top-line {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 12px;
        }

        .vxr-verdict-word-group {
            display: flex;
            align-items: baseline;
            gap: 16px;
            flex-wrap: wrap;
        }

        .vxr-verdict-word {
            font-family: var(--header-font);
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight: 900;
            letter-spacing: -0.03em;
            line-height: 1;
            text-transform: uppercase;
            background: var(--xr-verdict-grad, currentColor);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .vxr-verdict-score-inline {
            display: none;
        }

        .vxr-verdict-score-num {
            display: none;
        }

        .vxr-verdict-badges {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .vxr-conviction-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            padding: 4px 10px;
            border-radius: 6px;
            border: 1px solid currentColor;
        }

        .vxr-meta-badge {
            display: inline-flex;
            align-items: center;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: 0.05em;
            padding: 4px 10px;
            border-radius: 6px;
            color: rgba(255, 255, 255, 0.50);
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.10);
        }

        /* Data source disclaimer badges */
        .vxr-disclaimer-row {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }
        .vxr-disclaimer-badge {
            display: inline-flex;
            align-items: center;
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.03em;
            padding: 3px 8px;
            border-radius: 4px;
            color: rgba(255, 191, 0, 0.80);
            background: rgba(255, 191, 0, 0.06);
            border: 1px solid rgba(255, 191, 0, 0.15);
            line-height: 1.3;
        }

        .vxr-summary-text {
            font-size: 15px;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.82);
            font-family: var(--body-font);
            font-weight: 450;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.07);
        }

        /* ── 2. Thesis Triptych ── */
        .vxr-triptych {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }

        .vxr-triptych-cell {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.10);
            border-radius: 16px;
            padding: 22px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            position: relative;
            overflow: hidden;
            transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
        }

        .vxr-triptych-cell:hover {
            border-color: rgba(255, 255, 255, 0.16);
        }

        .vxr-triptych-cell::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: linear-gradient(90deg, var(--trip-accent, rgba(255, 255, 255, 0.10)), transparent);
        }

        .vxr-triptych-cell::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(ellipse at 30% 10%, var(--trip-glow, rgba(255,255,255,0.02)) 0%, transparent 60%);
            pointer-events: none;
        }

        .vxr-triptych-header {
            display: flex;
            align-items: center;
            gap: 10px;
            position: relative;
            z-index: 1;
        }

        .vxr-triptych-icon {
            width: 36px;
            height: 36px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .vxr-triptych-label {
            font-family: var(--header-font);
            font-size: 10px;
            font-weight: 900;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.50);
        }

        .vxr-triptych-body {
            font-size: 13.5px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.82);
            font-family: var(--body-font);
            font-weight: 450;
            position: relative;
            z-index: 1;
        }

        @media (max-width: 820px) {
            .vxr-triptych {
                grid-template-columns: 1fr;
            }
        }

        /* ── 3. Dimension Scorecard Grid ── */
        .vxr-scorecard-section {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .vxr-scorecard-section-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .vxr-section-label {
            font-family: var(--mono-font);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.30);
        }

        /* ── 4. Signal Grid (Moat / RedFlag / Gov / AI) ── */
        .vxr-signal-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
        }

        .vxr-signal-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.07);
            border-radius: 16px;
            padding: 22px 24px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
        }

        .vxr-signal-card:hover {
            border-color: rgba(255, 255, 255, 0.18);
            transform: translateY(-1px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);
        }

        .vxr-signal-card-header {
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--header-font);
            font-size: 10px;
            font-weight: 900;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.50);
        }

        .vxr-signal-card-header svg {
            flex-shrink: 0;
            opacity: 0.7;
        }

        .vxr-signal-card-body {
            font-size: 13.5px;
            line-height: 1.65;
            color: rgba(255, 255, 255, 0.78);
            font-family: var(--body-font);
            font-weight: 450;
            flex: 1;
        }

        .vxr-signal-card-body p {
            margin: 0 0 0.5em;
        }

        .vxr-signal-card-body p:last-child {
            margin-bottom: 0;
        }

        .vxr-signal-card.red-flag-card {
            border-color: rgba(255, 59, 48, 0.9);
            background: linear-gradient(135deg, rgba(255, 59, 48, 0.4), transparent);
        }

        .vxr-signal-card.red-flag-card .vxr-signal-card-header {
            color: rgba(255, 90, 80, 0.90);
        }

        .vxr-signal-card.moat-card {
            border-color: rgba(237, 209, 25, 0.3);
            background: linear-gradient(135deg, rgba(237, 209, 25, 0.15), transparent);
        }

        .vxr-signal-card.moat-card .vxr-signal-card-header {
            color: rgba(237, 215, 40, 0.88);
        }

        @media (max-width: 768px) {
            .vxr-signal-grid {
                grid-template-columns: 1fr;
            }
        }

        /* ── 5. Context row ── */
        .vxr-context-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
        }

        @media (max-width: 768px) {
            .vxr-context-row {
                grid-template-columns: 1fr;
            }
        }

        /* ── 6. Audit trail (collapsible) ── */
        .vxr-audit-toggle-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-family: var(--mono-font);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.28);
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.09);
            border-radius: 20px;
            padding: 7px 16px;
            cursor: pointer;
            transition: all 0.18s;
            width: fit-content;
        }

        .vxr-audit-toggle-btn:hover {
            color: rgba(255, 255, 255, 0.55);
            border-color: rgba(255, 255, 255, 0.18);
            background: rgba(255, 255, 255, 0.07);
        }

        .vxr-audit-body {
            display: none;
            margin-top: 12px;
        }

        .vxr-audit-body.expanded {
            display: block;
        }

        /* Composite Score Panel inside verdict (keep existing .composite-score-panel styles) */

        /* ── Verdict layout backward-compat stubs ── */
        .verdict-top-row,
        .verdict-secondary-row {
            /* legacy — kept so any existing code referencing these doesn't break */
            display: contents;
        }

        .verdict-left-col,
        .verdict-right-col {
            display: contents;
        }

        .dim-scorecard-section {
            margin-bottom: 0 !important;
        }

        .dim-scorecard-group-title {
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 12px;
            padding-left: 2px;
            font-family: var(--header-font, 'SF Pro Display', sans-serif);
        }

        /* ── Emphasized Typography ── */
        .verdict-decision-value {
            text-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
            font-weight: 900;
            letter-spacing: -0.02em;
        }

        @media (max-width: 768px) {
            .vxr-verdict-hero {
                padding: 20px;
            }

            .vxr-verdict-word {
                font-size: 2rem;
            }
        }

        .red-flag {
            border-color: rgba(255, 59, 48, 0.4) !important;
            background: linear-gradient(135deg, rgba(255, 59, 48, 0.08), transparent) !important;
        }

        .red-flag .header {
            color: #ff3b30 !important;
            opacity: 1 !important;
            font-weight: 800;
        }

        .red-flag svg {
            stroke: #ff3b30 !important;
        }

        /* Adjust Moat & AI Padding */
        .verdict-grid-card--moat,
        .verdict-grid-card--ai {
            padding: 24px !important;
        }

        .verdict-grid-card--moat .content p,
        .verdict-grid-card--ai .content p {
            line-height: 1.6;
        }

        /* ── Alt Color Theme ── */
        body.alt-theme {
            --ui-accent: hsl(180, 100%, 50%);
            --ui-accent-rgb: 0, 255, 255;
            /* Override score colors — verdict-* automatically follow via var(--score-X) */
            --score-5: hsl(180, 100%, 50%);
            --score-5-rgb: 0, 255, 255;
            --score-4: hsl(180, 100%, 70%);
            --score-4-rgb: 102, 255, 255;
            --score-3: hsl(200, 100%, 50%);
            --score-3-rgb: 0, 170, 255;
            --score-2: hsl(45, 100%, 50%);
            --score-2-rgb: 255, 191, 0;
            --score-1: hsl(0, 100%, 55%);
            --score-1-rgb: 255, 46, 46;
        }

        body.alt-theme .company-header h1 {
            background: linear-gradient(135deg, hsl(180, 100%, 70%), hsl(280, 100%, 75%), hsl(180, 100%, 50%)) !important;
            -webkit-background-clip: text !important;
            background-clip: text !important;
            -webkit-text-fill-color: transparent !important;
        }

        body.alt-theme .executive-summary {
            border-color: hsl(280, 80%, 65%) !important;
            background: hsl(280, 30%, 8%) !important;
        }

        body.alt-theme .executive-summary-label {
            color: hsl(280, 80%, 65%) !important;
        }

        body.alt-theme .timeline-segment-line {
            stroke: rgba(var(--ui-accent-rgb), 0.35);
        }

        body.alt-theme .timeline-node-core {
            filter: drop-shadow(0 0 6px rgba(var(--ui-accent-rgb), 0.5));
        }

        body.alt-theme .timeline-node-ring {
            stroke: var(--ui-accent);
        }

/* ── Extracted Style Block #5 ── */
/* ══════════════════════════════════════════════════════════════════════════
       ═══ CHAT WITH REPORT WIDGET ═══
       ══════════════════════════════════════════════════════════════════════════ */

    /* ── FAB (Floating Action Button) ── */
    #xr-chat-fab {
        position: fixed;
        bottom: 20px;
        right: 20px;
        height: 44px;
        padding: 0 18px 0 14px;
        border-radius: 22px;
        background: linear-gradient(135deg, hsl(0deg 0% 0%), hsl(0deg 0% 56.08%), hsl(0deg 0% 0%));;
        border: none;
        cursor: pointer;
        display: none;             /* hidden by default; shown via body.xr-chat-ready */
        align-items: center;
        justify-content: center;
        gap: 8px;
        z-index: 99990;
        box-shadow: 0 4px 20px rgba(0,0,0,0.55), 0 0 0 0 rgba(var(--ui-accent-rgb), 0.4);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        animation: xr-chat-pulse 3s ease-in-out infinite;
        -webkit-tap-highlight-color: transparent;
    }
    .xr-chat-fab-label {
        font-size: 13px;
        font-weight: 700;
        color: #000;
        letter-spacing: 0.02em;
        white-space: nowrap;
    }
    /* Show FAB only when a report is loaded (set via renderResults + MutationObserver fallback) */
    body.xr-chat-ready #xr-chat-fab {
        display: flex;
    }
    /* Also show during results-visible as a safety net, but only after analysis completes
       (not during loading — we suppress it with analysis-loading) */
    body.results-visible:not(.analysis-loading) #xr-chat-fab {
        display: flex;
    }
    #xr-chat-fab:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 28px rgba(0,0,0,0.6), 0 0 0 6px rgba(var(--ui-accent-rgb), 0.15);
        animation: none;
    }
    #xr-chat-fab svg {
        color: #000;
        flex-shrink: 0;
    }
    .xr-chat-fab-badge {
        position: absolute;
        top: -5px;
        right: -5px;
        background: #307eff;
        color: #fff;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: 0.04em;
        padding: 1px 5px;
        border-radius: 8px;
        line-height: 14px;
        pointer-events: none;
    }
    @keyframes xr-chat-pulse {
        0%, 100% { box-shadow: 0 4px 20px rgba(0,0,0,0.5), 0 0 0 0 rgba(var(--ui-accent-rgb), 0.4); }
        50% { box-shadow: 0 4px 20px rgba(0,0,0,0.5), 0 0 0 8px rgba(var(--ui-accent-rgb), 0.0); }
    }

    /* Hide FAB when overlapping panels are active.
       Stats panel reuses pf-active (see openStatisticsPanel), so both are covered. */
    body.pf-active #xr-chat-fab,
    body.reports-archive-active #xr-chat-fab {
        display: none !important;
    }

    /* ── Chat Panel ── */
    #xr-chat-panel {
        position: fixed;
        bottom: 24px;
        right: 24px;
        width: 400px;
        height: 560px;
        background: #0d0d0d;
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 16px;
        display: none;
        flex-direction: column;
        z-index: 99991;
        box-shadow: 0 8px 48px rgba(0,0,0,0.8), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.12);
        overflow: hidden;
        transition: opacity 0.25s ease, transform 0.25s ease, width 0.35s cubic-bezier(0.4,0,0.2,1), height 0.35s cubic-bezier(0.4,0,0.2,1);
        opacity: 0;
        transform: translateY(12px) scale(0.97);
    }
    #xr-chat-panel.xr-chat-visible {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    /* Expand panel once a real message has been sent — smooth transition */
    #xr-chat-panel.xr-chat-panel--active {
        width: 480px;
        height: 660px;
    }

    /* ── Header ── */
    #xr-chat-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        border-bottom: 1px solid rgba(255,255,255,0.07);
        flex-shrink: 0;
        background: rgba(255,255,255,0.03);
    }
    #xr-chat-header-logo {
        height: 24px;
        width: auto;
        flex-shrink: 0;
        opacity: 0.85;
    }
    #xr-chat-header-text {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }
    #xr-chat-title {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.9);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    #xr-chat-model-badge {
        font-size: 9px;
        font-weight: 600;
        letter-spacing: 0.04em;
        color: rgba(255,255,255,0.35);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: flex;
        align-items: center;
        gap: 4px;
    }
    #xr-chat-model-badge:empty { display: none; }
    #xr-chat-model-badge.xr-chat-search-active::before {
        content: '🔍';
        font-size: 9px;
    }
    #xr-chat-clear-btn, #xr-chat-close-btn, #xr-chat-export-btn {
        background: none;
        border: none;
        cursor: pointer;
        color: rgba(255,255,255,0.4);
        font-size: 16px;
        padding: 2px 6px;
        border-radius: 6px;
        line-height: 1;
        transition: color 0.15s, background 0.15s;
    }
    #xr-chat-clear-btn:hover, #xr-chat-close-btn:hover, #xr-chat-export-btn:hover {
        color: rgba(255,255,255,0.8);
        background: rgba(255,255,255,0.06);
    }

    /* ── Messages ── */
    #xr-chat-messages {
        flex: 1;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 14px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        scroll-behavior: smooth;
        position: relative;
    }
    #xr-chat-messages::-webkit-scrollbar { width: 4px; }
    #xr-chat-messages::-webkit-scrollbar-track { background: transparent; }
    #xr-chat-messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 2px; }

    .xr-chat-msg {
        display: flex;
        flex-direction: column;
        max-width: 85%;
        gap: 3px;
    }
    .xr-chat-msg-user { align-self: flex-end; align-items: flex-end; }
    .xr-chat-msg-model { align-self: flex-start; align-items: flex-start; }
    .xr-chat-msg-system { align-self: center; align-items: center; max-width: 100%; }

    .xr-chat-bubble {
        padding: 9px 13px;
        border-radius: 14px;
        font-size: 13px;
        line-height: 1.55;
        color: rgba(255,255,255,0.9);
    }
    .xr-chat-msg-user .xr-chat-bubble {
        background: var(--ui-accent);
        color: #000;
        border-bottom-right-radius: 4px;
    }
    .xr-chat-msg-model .xr-chat-bubble {
        background: linear-gradient(135deg, rgba(48,126,255,0.14) 0%, rgba(48,126,255,0.05) 100%);
        border: 1px solid rgba(48,126,255,0.20);
        border-bottom-left-radius: 4px;
    }
    /* Web-search grounded answers — red/short gradient to signal live data */
    .xr-chat-msg-model .xr-chat-bubble.xr-chat-bubble-search {
        background: linear-gradient(135deg, rgba(195,69,61,0.15) 0%, rgba(195,69,61,0.06) 100%);
        border: 1px solid rgba(195,69,61,0.22);
    }
    .xr-chat-msg-system .xr-chat-bubble {
        background: transparent;
        color: rgba(255,255,255,0.35);
        font-size: 11px;
        text-align: center;
        border: none;
        padding: 4px 8px;
    }

    /* Markdown-ish rendering in model bubbles */
    .xr-chat-bubble strong { font-weight: 700; }
    .xr-chat-bubble em { font-style: italic; }
    .xr-chat-bubble ul { margin: 6px 0 6px 16px; padding: 0; }
    .xr-chat-bubble li { margin-bottom: 3px; }
    .xr-chat-bubble p { margin: 0 0 6px; }
    .xr-chat-bubble p:last-child { margin-bottom: 0; }
    .xr-chat-bubble code {
        background: rgba(255,255,255,0.1);
        padding: 1px 4px;
        border-radius: 3px;
        font-family: monospace;
        font-size: 11px;
    }

    /* Typing indicator */
    .xr-chat-typing {
        display: flex;
        gap: 4px;
        align-items: center;
        padding: 10px 13px;
    }
    .xr-chat-typing-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255,255,255,0.4);
        animation: xr-chat-typing-bounce 1.2s ease-in-out infinite;
    }
    .xr-chat-typing-dot:nth-child(1) { animation-delay: 0s; }
    .xr-chat-typing-dot:nth-child(2) { animation-delay: 0.2s; }
    .xr-chat-typing-dot:nth-child(3) { animation-delay: 0.4s; }
    @keyframes xr-chat-typing-bounce {
        0%, 80%, 100% { transform: scale(0.7); opacity: 0.4; }
        40% { transform: scale(1); opacity: 1; }
    }

    /* Error bubble */
    .xr-chat-bubble-error {
        background: rgba(195, 69, 61, 0.15) !important;
        border: 1px solid rgba(195, 69, 61, 0.3) !important;
        color: #ff8a80 !important;
    }

    /* ── Input Area ── */
    #xr-chat-input-wrap {
        display: flex;
        align-items: flex-end;
        gap: 8px;
        padding: 12px 14px;
        border-top: 1px solid rgba(255,255,255,0.07);
        flex-shrink: 0;
        background: rgba(255,255,255,0.02);
    }
    #xr-chat-input {
        flex: 1;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 10px;
        color: rgba(255,255,255,0.9);
        font-size: 13px;
        font-family: inherit;
        line-height: 1.5;
        padding: 8px 12px;
        resize: none;
        outline: none;
        max-height: 120px;
        transition: border-color 0.15s;
        overflow-y: auto;
    }
    #xr-chat-input::placeholder { color: rgba(255,255,255,0.25); }
    #xr-chat-input:focus { border-color: rgba(var(--ui-accent-rgb), 0.4); }
    #xr-chat-send {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        background: var(--ui-accent);
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color: #000;
        font-size: 16px;
        font-weight: 700;
        transition: opacity 0.15s, transform 0.15s;
    }
    #xr-chat-send:hover { opacity: 0.85; transform: scale(1.05); }
    #xr-chat-send:disabled { opacity: 0.35; cursor: not-allowed; transform: none; }

    /* ── Gate Overlay ── */
    #xr-chat-upgrade-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(160deg, rgba(8,8,12,0.97) 0%, rgba(12,12,20,0.97) 100%);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        border-radius: 16px;
        z-index: 10;
        overflow: hidden;
    }
    /* Accent bar across the top */
    #xr-chat-upgrade-overlay::before {
        content: '';
        display: block;
        height: 2px;
        background: linear-gradient(90deg, transparent, rgba(var(--ui-accent-rgb), 0.7) 40%, rgba(48,126,255,0.5) 70%, transparent);
        flex-shrink: 0;
    }
    /* Close button — top-right */
    #xr-gate-close-btn {
        position: absolute;
        top: 12px;
        right: 12px;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 8px;
        color: rgba(255,255,255,0.35);
        font-size: 14px;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        line-height: 1;
        transition: color 0.15s, background 0.15s, border-color 0.15s;
        z-index: 1;
    }
    #xr-gate-close-btn:hover {
        color: rgba(255,255,255,0.8);
        background: rgba(255,255,255,0.1);
        border-color: rgba(255,255,255,0.15);
    }
    /* Inner scroll container */
    .xr-gate-body {
        flex: 1;
        overflow-y: auto;
        padding: 22px 22px 20px;
        display: flex;
        flex-direction: column;
        gap: 18px;
    }
    /* Icon + label row */
    .xr-gate-eyebrow {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .xr-gate-icon {
        width: 30px;
        height: 30px;
        border-radius: 8px;
        background: linear-gradient(135deg, rgba(var(--ui-accent-rgb),0.18) 0%, rgba(48,126,255,0.10) 100%);
        border: 1px solid rgba(var(--ui-accent-rgb),0.20);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        color: var(--ui-accent);
    }
    .xr-gate-label {
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgba(var(--ui-accent-rgb),0.6);
    }
    /* Headline */
    .xr-gate-title {
        font-size: 17px;
        font-weight: 700;
        letter-spacing: -0.01em;
        color: rgba(255,255,255,0.95);
        line-height: 1.25;
    }
    /* Subtext */
    .xr-gate-sub {
        font-size: 12px;
        color: rgba(255,255,255,0.45);
        line-height: 1.55;
    }
    /* Feature bullet list */
    .xr-gate-features {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 12px 14px;
        background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.06);
        border-radius: 10px;
    }
    .xr-gate-feature {
        display: flex;
        align-items: flex-start;
        gap: 9px;
        font-size: 12px;
        color: rgba(255,255,255,0.6);
        line-height: 1.4;
    }
    .xr-gate-feature-dot {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: rgba(var(--ui-accent-rgb),0.12);
        border: 1px solid rgba(var(--ui-accent-rgb),0.25);
        flex-shrink: 0;
        margin-top: 1px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ui-accent);
    }
    /* Action buttons */
    .xr-gate-actions {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .xr-gate-btn-primary {
        display: block;
        width: 100%;
        background: var(--ui-accent);
        color: #000;
        border: none;
        border-radius: 10px;
        padding: 11px 20px;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.03em;
        cursor: pointer;
        transition: opacity 0.15s, transform 0.1s;
        text-decoration: none;
        text-align: center;
        box-sizing: border-box;
    }
    .xr-gate-btn-primary:hover { opacity: 0.88; transform: translateY(-1px); }
    .xr-gate-btn-secondary {
        display: block;
        width: 100%;
        background: rgba(255,255,255,0.04);
        color: rgba(255,255,255,0.55);
        border: 1px solid rgba(255,255,255,0.09);
        border-radius: 10px;
        padding: 10px 20px;
        font-size: 12px;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.15s, color 0.15s, border-color 0.15s;
        text-decoration: none;
        text-align: center;
        box-sizing: border-box;
        letter-spacing: 0.01em;
    }
    .xr-gate-btn-secondary:hover {
        background: rgba(255,255,255,0.08);
        color: rgba(255,255,255,0.8);
        border-color: rgba(255,255,255,0.15);
    }
    /* State-specific visibility */
    #xr-chat-upgrade-overlay.xr-gate--signin .xr-gate-signin-only { display: block; }
    #xr-chat-upgrade-overlay.xr-gate--signin .xr-gate-upgrade-only { display: none; }
    #xr-chat-upgrade-overlay.xr-gate--upgrade .xr-gate-upgrade-only { display: block; }
    #xr-chat-upgrade-overlay.xr-gate--upgrade .xr-gate-signin-only { display: none; }


    /* ── Footer ── */
    #xr-chat-footer {
        padding: 6px 14px 10px;
        font-size: 10px;
        color: rgba(255,255,255,0.2);
        text-align: center;
        flex-shrink: 0;
        letter-spacing: 0.02em;
    }

    /* ── Suggested prompt chips ── */
    .xr-chat-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        padding: 6px 0 8px;
    }
    .xr-chat-chip {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: linear-gradient(135deg, rgba(48,126,255,0.18) 0%, rgba(48,126,255,0.08) 100%);
        border: 1px solid rgba(48,126,255,0.30);
        border-radius: 20px;
        padding: 6px 12px;
        font-size: 11px;
        font-weight: 600;
        color: rgba(48,126,255,0.90);
        cursor: pointer;
        transition: background 0.15s, border-color 0.15s, color 0.15s;
        white-space: nowrap;
        -webkit-tap-highlight-color: transparent;
        letter-spacing: 0.01em;
    }
    .xr-chat-chip:hover {
        background: linear-gradient(135deg, rgba(48,126,255,0.28) 0%, rgba(48,126,255,0.14) 100%);
        border-color: rgba(48,126,255,0.55);
        color: #fff;
    }
    .xr-chat-chip svg {
        opacity: 0.7;
        flex-shrink: 0;
        color: #307eff;
    }

    /* ── Citation sources ── */
    .xr-chat-citations {
        margin-top: 8px;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .xr-chat-citations-label {
        font-size: 10px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.25);
        margin-bottom: 2px;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .xr-chat-citations-label svg { opacity: 0.5; }
    .xr-chat-citation-link {
        display: flex;
        align-items: baseline;
        gap: 5px;
        font-size: 11px;
        color: rgba(var(--ui-accent-rgb), 0.8);
        text-decoration: none;
        line-height: 1.4;
        transition: color 0.12s;
        overflow: hidden;
    }
    .xr-chat-citation-link:hover { color: var(--ui-accent); text-decoration: underline; }
    .xr-chat-citation-num {
        flex-shrink: 0;
        font-size: 10px;
        font-weight: 700;
        color: rgba(255,255,255,0.25);
        min-width: 14px;
    }
    .xr-chat-citation-title {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ── Refined chat styling (overrides earlier blue treatment to match the site accent) ── */
    #xr-chat-panel {
        background: linear-gradient(180deg, #121316 0%, #0a0b0d 100%);
        border: 1px solid rgba(255,255,255,0.12);
        border-radius: 18px;
        box-shadow: 0 18px 60px rgba(0,0,0,0.75), 0 0 0 1px rgba(var(--ui-accent-rgb), 0.10);
    }
    #xr-chat-header { padding: 12px 16px; background: rgba(255,255,255,0.035); }
    #xr-chat-title { font-size: 12px; letter-spacing: 0.1em; }
    #xr-chat-messages { padding: 16px; gap: 12px; overscroll-behavior: contain; }
    .xr-chat-msg { max-width: 92%; }
    .xr-chat-bubble { font-size: 13.5px; line-height: 1.6; overflow-wrap: anywhere; }
    .xr-chat-msg-user .xr-chat-bubble {
        background: rgba(var(--ui-accent-rgb), 0.92);
        border-bottom-right-radius: 5px;
        font-weight: 500;
    }
    .xr-chat-msg-model .xr-chat-bubble {
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.10);
        border-left: 3px solid rgba(var(--ui-accent-rgb), 0.7);
        border-bottom-left-radius: 5px;
    }
    .xr-chat-msg-model .xr-chat-bubble.xr-chat-bubble-search {
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.10);
        border-left: 3px solid var(--score-3);
    }
    .xr-chat-bubble .xr-chat-h {
        margin: 10px 0 6px;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #ffffff;
    }
    .xr-chat-bubble .xr-chat-h:first-child { margin-top: 0; }
    .xr-chat-bubble ol { margin: 6px 0 8px 18px; padding: 0; }
    .xr-chat-bubble ul { margin: 6px 0 8px 18px; }
    .xr-chat-bubble a { color: var(--ui-accent); text-decoration: underline; text-underline-offset: 2px; }
    .xr-chat-bubble hr { border: none; border-top: 1px solid rgba(255,255,255,0.12); margin: 10px 0; }
    .xr-chat-bubble blockquote {
        margin: 6px 0;
        padding: 6px 12px;
        border-left: 3px solid rgba(255,255,255,0.25);
        background: rgba(255,255,255,0.03);
        color: rgba(255,255,255,0.75);
        border-radius: 0 6px 6px 0;
    }
    .xr-chat-table-wrap { overflow-x: auto; margin: 8px 0; border: 1px solid rgba(255,255,255,0.10); border-radius: 8px; }
    .xr-chat-table-wrap table { border-collapse: collapse; width: 100%; font-size: 12px; }
    .xr-chat-table-wrap th, .xr-chat-table-wrap td { padding: 6px 10px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.07); white-space: nowrap; }
    .xr-chat-table-wrap th { background: rgba(255,255,255,0.06); font-weight: 700; color: #fff; }
    .xr-chat-table-wrap tr:last-child td { border-bottom: none; }
    .xr-chat-chip {
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.14);
        color: rgba(255,255,255,0.85);
        white-space: normal;
        text-align: left;
        min-height: 36px;
        line-height: 1.3;
    }
    .xr-chat-chip svg { color: var(--ui-accent); opacity: 0.9; }
    .xr-chat-chip:hover { background: rgba(var(--ui-accent-rgb), 0.14); border-color: rgba(var(--ui-accent-rgb), 0.5); color: #fff; }
    #xr-chat-input-wrap { padding: 12px 16px; }
    #xr-chat-input { font-size: 16px !important; border-radius: 12px; padding: 9px 13px; }
    #xr-chat-send { width: 40px; height: 40px; border-radius: 12px; }
    #xr-chat-footer { padding: 6px 16px 12px; }
    .xr-ask-block {
        background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.10);
    }
    .xr-ask-label { color: rgba(var(--ui-accent-rgb), 0.8); }
    .xr-ask-pill {
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.14);
        color: rgba(255,255,255,0.85);
        min-height: 32px;
    }
    .xr-ask-pill:hover { background: rgba(var(--ui-accent-rgb), 0.16); border-color: rgba(var(--ui-accent-rgb), 0.5); color: #fff; transform: none; }

    /* ── Mobile ── */
    @media (max-width: 640px) {
        /* Scroll lock only on mobile — desktop keeps background scrollable */
        body.xr-chat-open { overflow: hidden; }
        #xr-chat-panel {
            position: fixed;
            bottom: 0;
            right: 0;
            left: 0;
            top: auto;
            width: 100% !important;     /* override xr-chat-panel--active width */
            max-width: 100vw !important;
            border-radius: 20px 20px 0 0;
            height: 82dvh !important;   /* override xr-chat-panel--active height */
            max-height: 82dvh !important;
            /* No width/height transition on mobile — just opacity/transform */
            transition: opacity 0.25s ease, transform 0.25s ease;
        }
        #xr-chat-panel.xr-chat-panel--active {
            width: 100% !important;
            height: 82dvh !important;
        }
        #xr-chat-header {
            padding: 12px 14px;
        }
        #xr-chat-header-logo {
            height: 20px;
        }
        #xr-chat-title {
            font-size: 10px;
        }
        #xr-chat-clear-btn, #xr-chat-close-btn, #xr-chat-export-btn {
            padding: 4px 8px;       /* larger tap target on mobile */
            min-width: 36px;
            min-height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        #xr-chat-fab {
            bottom: calc(18px + env(safe-area-inset-bottom, 0px));
            right: calc(18px + env(safe-area-inset-right, 0px));
        }
    }

    /* ══════════════════════════════════════════════════════════════════════════
       ═══ ASK X-RAY AI — inline section badges ═══
       These appear inside report sections, letting users click to instantly
       send a contextual question to the chat window.
       ══════════════════════════════════════════════════════════════════════════ */
    .xr-ask-block {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
        margin: 14px 0 2px;
        padding: 8px 12px;
        background: rgba(255, 255, 255, 0.025);
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 8px;
        position: relative;
    }
    .xr-ask-label {
        font-family: var(--mono-font, ui-monospace, monospace);
        font-size: 8.5px;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.45);
        white-space: nowrap;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        gap: 5px;
        padding-right: 8px;
        border-right: 1px solid rgba(255, 255, 255, 0.07);
    }
    .xr-ask-label svg {
        flex-shrink: 0;
        opacity: 0.7;
        color: var(--ui-accent, #B0B0B0);
    }
    .xr-ask-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        flex: 1;
        min-width: 0;
    }
    .xr-ask-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 6px;
        padding: 6px 12px;
        font-size: 11px;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.75);
        cursor: pointer;
        transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.1s;
        -webkit-tap-highlight-color: transparent;
        line-height: 1.4;
        white-space: normal;
        font-family: var(--body-font, system-ui, sans-serif);
        letter-spacing: 0.01em;
        text-align: left;
    }
    .xr-ask-pill:hover {
        background: rgba(255, 255, 255, 0.08);
        border-color: rgba(var(--ui-accent-rgb, 176,176,176), 0.4);
        color: #fff;
        transform: translateY(-1px);
    }
    .xr-ask-pill:active {
        transform: translateY(0);
    }
    /* Only show ask blocks when a report is loaded and chat is ready */
    body:not(.xr-chat-ready) .xr-ask-block { display: none; }
    @media (max-width: 640px) {
        .xr-ask-block { flex-direction: column; align-items: flex-start; gap: 8px; }
        .xr-ask-label { border-right: none; padding-right: 0; }
        .xr-ask-pill { font-size: 10.5px; padding: 5px 10px; }
    }

/* ── Extracted Style Block #6 ── */
@keyframes tuner-in {
            from {
                opacity: 0;
                transform: scale(0.88) translateY(8px);
            }

            to {
                opacity: 1;
                transform: scale(1) translateY(0);
            }
        }

        /* Hide style tuner trigger + panel on mobile */
        @media (max-width: 640px) {

            #style-tuner-trigger,
            #theme-picker {
                display: none !important;
            }
        }

        /* Monochrome swatch grid — desaturate the preset colour swatches */
        #theme-picker button[onclick^="setAccent"] {
            filter: grayscale(0.82) brightness(0.85) !important;
            opacity: 0.55 !important;
            border-color: rgba(255, 255, 255, 0.08) !important;
            transition: filter 0.15s, opacity 0.15s, transform 0.12s !important;
        }

        #theme-picker button[onclick^="setAccent"]:hover,
        #theme-picker button[onclick^="setAccent"].active-swatch {
            filter: grayscale(0) brightness(1) !important;
            opacity: 1 !important;
            border-color: rgba(255, 255, 255, 0.5) !important;
        }

        /* Monochrome slider accent */
        #theme-picker input[type="range"] {
            accent-color: rgba(255, 255, 255, 0.4) !important;
        }

        /* CRT variables with defaults */
        :root {
            --crt-scanline-opacity: 0.04;
            --crt-line-pitch: 3px;
            --crt-flicker-speed: 8s;
            --crt-glow-opacity: 0.13;
            --crt-glow-rgb: var(--verdict-strong-rgb, 48, 126, 255);
        }

        /* Override CRT rules to use CSS vars */
        #crt-scanlines {
            background: repeating-linear-gradient(0deg,
                    rgba(0, 0, 0, var(--crt-scanline-opacity)) 0px,
                    rgba(0, 0, 0, var(--crt-scanline-opacity)) 1px,
                    transparent 1px,
                    transparent var(--crt-line-pitch)) !important;
            animation-duration: var(--crt-flicker-speed) !important;
        }

        #crt-glow {
            background: radial-gradient(ellipse at 50% 40%,
                    rgba(var(--crt-glow-rgb), var(--crt-glow-opacity)) 0%,
                    transparent 65%) !important;
        }

        /* ── MOBILE UI POLISH (UI REMEDIATION) ── */
        @media (max-width: 600px) {

            /* Report Cards Mobile Polish */
            .report-card {
                padding: 12px !important;
                gap: 10px !important;
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                overflow: hidden !important;
                position: relative !important;
            }

            .report-card-company {
                font-size: 13px !important;
                margin-bottom: 2px !important;
                white-space: normal !important;
                word-break: break-word !important;
            }

            .report-card-header {
                gap: 6px !important;
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
            }

            .report-card-meta-row {
                gap: 6px !important;
                align-items: flex-start !important;
            }

            .report-card-right {
                gap: 3px !important;
                flex-shrink: 0 !important;
                align-items: flex-end !important;
            }

            .report-card-verdict {
                padding: 3px 8px !important;
                font-size: 8px !important;
                white-space: nowrap !important;
            }

            .report-card-sector {
                font-size: 8px !important;
                padding: 3px 6px !important;
                white-space: nowrap !important;
            }

            .report-card-thesis {
                font-size: 11px !important;
                line-height: 1.4 !important;
                margin-top: 4px !important;
            }

            .report-card-insight {
                gap: 3px !important;
                padding: 4px 0 1px !important;
            }
            .report-card-insight-text {
                font-size: 11.5px !important;
                -webkit-line-clamp: 2 !important;
                line-clamp: 2 !important;
            }
            .report-card-insight-verdict .report-card-insight-text {
                -webkit-line-clamp: 2 !important;
                line-clamp: 2 !important;
            }

            /* Responsive score bars */
            .report-card-score-row {
                gap: 4px !important;
                padding-top: 8px !important;
            }

            .report-card-score-bar-item {
                gap: 6px !important;
            }

            .report-card-score-bar-label {
                width: auto !important;
                min-width: 48px !important;
                font-size: 8.5px !important;
                letter-spacing: 0.04em !important;
            }

            .report-card-score-bar-track {
                min-width: 36px !important;
                height: 5px !important;
            }

            .report-card-score-bar-num {
                font-size: 10px !important;
                width: 18px !important;
            }

            /* Responsive XPS bar */
            .report-card-xps {
                gap: 6px !important;
                padding-top: 8px !important;
                flex-wrap: wrap !important;
            }

            .report-card-xps-segs {
                gap: 2px !important;
            }

            .report-card-xps-seg {
                width: 13px !important;
                height: 3px !important;
            }

            /* Action buttons on mobile: touch-friendly and wrap without clipping */
            .report-card-actions-row {
                display: flex !important;
                align-items: center !important;
                flex-wrap: wrap !important;
                gap: 6px !important;
                margin-top: auto !important;
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
            }

            .report-card-action-btn {
                display: inline-flex !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 5px !important;
                min-height: 38px !important;
                padding: 6px 10px !important;
                border-radius: 8px !important;
                font-weight: 700 !important;
                font-size: 10.5px !important;
                letter-spacing: 0.02em !important;
                white-space: nowrap !important;
                touch-action: manipulation !important;
            }

            .report-card-action-btn.primary {
                flex: 1 1 auto !important;
                min-width: 0 !important;
            }

            .report-card-action-btn.secondary,
            .report-card-action-btn.newtab {
                flex: 0 0 auto !important;
                padding: 6px 9px !important;
            }

            /* Compare checkbox: hidden by default, properly offset in compare mode */
            .xr-compare-cb {
                position: absolute !important;
                top: 10px !important;
                right: 10px !important;
                z-index: 5 !important;
            }
            body:not(.xr-compare-mode) .xr-compare-cb {
                display: none !important;
            }
            .xr-compare-mode .report-card {
                padding-right: 38px !important;
            }

            /* Ensure company name never overflows */
            .report-card-company {
                font-size: 13.5px !important;
                white-space: nowrap !important;
                overflow: hidden !important;
                text-overflow: ellipsis !important;
                max-width: 100% !important;
            }

            .newsletter-showcase-section {
                padding-bottom: 24px !important;
            }

            .credibility-section {
                padding-top: 16px !important;
                padding-bottom: 12px !important;
                margin-bottom: 16px !important;
            }

            /* ETA Text */
            #eta-status {
                word-break: break-all;
                font-size: 11px;
            }

            /* Input Highlight */
            #ticker-input {
                border-color: rgba(var(--ui-accent-rgb), 0.5);
            }

            #ticker-input::placeholder {
                color: rgba(255, 255, 255, 0.7);
                font-weight: 500;
                font-size: 12px;
            }

            /* Keep Hero Infrastructure Badges visible on mobile, hide legacy standalones */
            body:not(.has-hero-panel) .legacy-attribution-container {
                display: none !important;
            }

            /* Hide Institutional Logo Strip on mobile */
            .logo-strip-wrap {
                display: none !important;
            }
        }

/* ── Extracted Style Block #7 ── */
/* ── Overlay ── */
        #pf-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.72);
            backdrop-filter: blur(40px) saturate(2);
            -webkit-backdrop-filter: blur(40px) saturate(2);
            z-index: 100001;
            opacity: 0;
            overflow: hidden;
            transition: opacity 0.28s ease;
            justify-content: center;
            align-items: center;
        }

        #pf-overlay.visible {
            display: flex !important;
            opacity: 1;
        }

        body.pf-active {
            overflow: hidden;
        }

        body.pf-active.ios-lock {
            position: fixed;
            width: 100%;
        }

        /* ── Panel Shell ── */
        #pf-panel {
            width: 96vw;
            max-width: 1320px;
            height: 92vh;
            background: #0c0d12;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 20px;
            box-shadow: 0 40px 120px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.04);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            position: relative;
        }

        /* ── Header — matches rr-panel-header ── */
        #pf-header {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 14px 16px 10px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-shrink: 0;
        }

        #pf-header-title {
            font-family: var(--header-font);
            font-size: 26px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: -0.02em;
            background: var(--grad-score-4);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            flex: 1;
            line-height: 1;
        }

        #pf-header-eyebrow {
            display: none;
        }

        /* Header action buttons — match rr-refresh-btn */
        .pf-hdr-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.09);
            color: rgba(255, 255, 255, 0.55);
            cursor: pointer;
            padding: 4px 9px 4px 7px;
            border-radius: 20px;
            font-size: 10px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            line-height: 1;
            transition: color 0.15s, background 0.15s, border-color 0.15s;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .pf-hdr-btn:hover {
            color: rgba(255, 255, 255, 0.88);
            background: rgba(255, 255, 255, 0.09);
            border-color: rgba(255, 255, 255, 0.16);
        }

        .pf-hdr-btn.spinning svg {
            animation: pf-spin 0.7s linear infinite;
        }

        @keyframes pf-spin {
            to {
                transform: rotate(360deg);
            }
        }

        /* ── Disclaimer strip ── */
        #pf-disclaimer-strip {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 5px;
            padding: 6px 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            flex-shrink: 0;
        }

        .pf-disclaimer {
            display: flex;
            align-items: center;
            gap: 5px;
            padding: 3px 8px;
            background: rgba(216, 188, 77, 0.06);
            border: 1px solid rgba(216, 188, 77, 0.18);
            border-radius: 5px;
            font-size: 9px;
            line-height: 1.3;
            color: rgba(216, 188, 77, 0.65);
            font-family: var(--mono-font, monospace);
            letter-spacing: 0.03em;
            white-space: nowrap;
        }

        .pf-disclaimer svg {
            flex-shrink: 0;
            opacity: 0.6;
        }

        .pf-disclaimer strong {
            color: rgba(216, 188, 77, 0.88);
            font-weight: 700;
            font-size: inherit;
        }

        /* ── Positions loading spinner ── */
        .pf-loading-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 12px;
            padding: 48px 24px;
        }

        /* .pf-spinner replaced by .xr-pl.xr-pl-sm ring — see unified XR Panel Loader above */
        .pf-spinner {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 80px;
            height: 80px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .pf-spinner::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 50%;
            animation: xrPlRingSpin 3.5s linear infinite;
        }

        .pf-loading-label {
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.18);
            text-transform: uppercase;
        }

        /* ── Transaction Timeline ─────────────────────────────────── */
        /* Timeline wrap — direct child of tab pane, full width, own scroll context */
        #pf-timeline-wrap {
            width: 100%;
            padding: 14px 20px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            flex-shrink: 0;
            box-sizing: border-box;
        }

        #pf-timeline-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 10px;
        }

        #pf-timeline-label {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.22);
        }

        #pf-timeline-legend {
            display: flex;
            gap: 10px;
        }

        .pf-tl-leg {
            display: flex;
            align-items: center;
            gap: 4px;
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            letter-spacing: 0.06em;
            color: rgba(255, 255, 255, 0.22);
        }

        .pf-tl-leg-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
        }

        /* Nav controls */
        #pf-tl-nav {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-left: auto;
        }

        .pf-tl-nav-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            border-radius: 6px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.04);
            color: rgba(255, 255, 255, 0.45);
            cursor: pointer;
            transition: background 0.15s, border-color 0.15s, color 0.15s;
            flex-shrink: 0;
        }

        .pf-tl-nav-btn:hover:not(:disabled) {
            background: rgba(255, 255, 255, 0.1);
            border-color: rgba(255, 255, 255, 0.22);
            color: rgba(255, 255, 255, 0.85);
        }

        .pf-tl-nav-btn:disabled {
            opacity: 0.25;
            cursor: default;
        }

        #pf-tl-page-info {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.28);
            white-space: nowrap;
            min-width: 48px;
            text-align: center;
        }

        /* Scroll area */
        #pf-timeline-scroll {
            overflow-x: auto;
            overflow-y: hidden;
            padding-top: 0;
            padding-bottom: 4px;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }

        #pf-timeline-scroll::-webkit-scrollbar {
            display: none;
        }

        /* Track — fixed height so rail sits at exact midpoint */
        #pf-timeline-track {
            display: flex;
            align-items: flex-start;
            min-width: max-content;
            position: relative;
            padding: 0 24px;
            height: 240px;
            /* rail is at y=120px — midpoint */
        }

        /* Rail line — always at the vertical midpoint of the track */
        #pf-timeline-track::before {
            content: '';
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 24px;
            right: 24px;
            height: 2px;
            background: linear-gradient(90deg,
                    transparent 0%,
                    rgba(255, 255, 255, 0.08) 4%,
                    rgba(255, 255, 255, 0.08) 96%,
                    transparent 100%);
            border-radius: 1px;
        }

        /* Each transaction column — absolute positioning of all children */
        .pf-tl-item {
            position: relative;
            width: 136px;
            height: 240px;
            /* must match track height */
            flex-shrink: 0;
        }

        /* Node — always pinned to the rail midpoint */
        .pf-tl-node {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 10px;
            height: 10px;
            border-radius: 50%;
            z-index: 2;
            transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
        }

        .pf-tl-item:hover .pf-tl-node,
        .pf-tl-item.active-item .pf-tl-node {
            transform: translate(-50%, -50%) scale(1.5);
        }

        /* Stem — short vertical line connecting card edge to node */
        .pf-tl-stem {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            width: 1px;
            height: 14px;
            background: linear-gradient(to bottom, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03));
        }

        /* ABOVE items: mini-card hangs above the rail; date sits below */
        .pf-tl-item.above .pf-tl-card-mini {
            position: absolute;
            bottom: calc(50% + 16px);
            /* above node+stem gap */
            left: 9px;
            right: 9px;
        }

        .pf-tl-item.above .pf-tl-stem {
            bottom: calc(50% + 2px);
            top: auto;
        }

        .pf-tl-item.above .pf-tl-date {
            position: absolute;
            top: calc(50% + 16px);
            left: 0;
            right: 0;
            text-align: center;
        }

        /* BELOW items: mini-card below the rail; date sits above */
        .pf-tl-item.below .pf-tl-card-mini {
            position: absolute;
            top: calc(50% + 16px);
            /* below node+stem gap */
            left: 9px;
            right: 9px;
        }

        .pf-tl-item.below .pf-tl-stem {
            top: calc(50% + 2px);
            bottom: auto;
        }

        .pf-tl-item.below .pf-tl-date {
            position: absolute;
            bottom: calc(50% + 16px);
            left: 0;
            right: 0;
            text-align: center;
        }

        /* Mini card */
        .pf-tl-card-mini {
            width: 118px;
            padding: 8px 10px;
            border-radius: 10px;
            cursor: pointer;
            transition: transform 0.2s cubic-bezier(0.34, 1.4, 0.64, 1),
                box-shadow 0.2s ease,
                border-color 0.2s ease,
                background 0.15s ease;
        }

        .pf-tl-card-mini.buy-card {
            background: rgba(8, 209, 129, 0.06);
            border: 1px solid rgba(8, 209, 129, 0.2);
        }

        .pf-tl-card-mini.sell-card {
            background: rgba(255, 69, 58, 0.06);
            border: 1px solid rgba(255, 69, 58, 0.18);
        }

        .pf-tl-card-mini:hover,
        .pf-tl-card-mini.active {
            transform: translateY(-3px) scale(1.03);
        }

        .pf-tl-card-mini.buy-card:hover,
        .pf-tl-card-mini.buy-card.active {
            background: rgba(8, 209, 129, 0.12);
            border-color: rgba(8, 209, 129, 0.42);
            box-shadow: 0 6px 24px rgba(8, 209, 129, 0.18), 0 2px 8px rgba(0, 0, 0, 0.3);
        }

        .pf-tl-card-mini.sell-card:hover,
        .pf-tl-card-mini.sell-card.active {
            background: rgba(255, 69, 58, 0.12);
            border-color: rgba(255, 69, 58, 0.38);
            box-shadow: 0 6px 24px rgba(255, 69, 58, 0.16), 0 2px 8px rgba(0, 0, 0, 0.3);
        }

        .pf-tl-mini-action {
            font-family: var(--mono-font, monospace);
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            margin-bottom: 3px;
        }

        .pf-tl-card-mini.buy-card .pf-tl-mini-action {
            color: #08d181;
        }

        .pf-tl-card-mini.sell-card .pf-tl-mini-action {
            color: #ff453a;
        }

        .pf-tl-mini-company {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 11px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.9);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            letter-spacing: -0.01em;
            line-height: 1.2;
        }

        .pf-tl-mini-sector {
            font-family: var(--mono-font, monospace);
            font-size: 8px;
            letter-spacing: 0.05em;
            color: rgba(255, 255, 255, 0.28);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            margin-top: 2px;
        }

        .pf-tl-mini-amount {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            font-weight: 600;
            margin-top: 3px;
        }

        .pf-tl-card-mini.buy-card .pf-tl-mini-amount {
            color: rgba(8, 209, 129, 0.7);
        }

        .pf-tl-card-mini.sell-card .pf-tl-mini-amount {
            color: rgba(255, 69, 58, 0.7);
        }

        /* Rail dot colours */
        .pf-tl-node.pf-tl-buy {
            background: #08d181;
            box-shadow: 0 0 0 3px rgba(8, 209, 129, 0.15), 0 0 10px rgba(8, 209, 129, 0.3);
        }

        .pf-tl-node.pf-tl-sell {
            background: #ff453a;
            box-shadow: 0 0 0 3px rgba(255, 69, 58, 0.15), 0 0 10px rgba(255, 69, 58, 0.28);
        }

        .pf-tl-item:hover .pf-tl-node.pf-tl-buy,
        .pf-tl-item.active-item .pf-tl-node.pf-tl-buy {
            box-shadow: 0 0 0 4px rgba(8, 209, 129, 0.22), 0 0 18px rgba(8, 209, 129, 0.5);
        }

        .pf-tl-item:hover .pf-tl-node.pf-tl-sell,
        .pf-tl-item.active-item .pf-tl-node.pf-tl-sell {
            box-shadow: 0 0 0 4px rgba(255, 69, 58, 0.2), 0 0 16px rgba(255, 69, 58, 0.45);
        }

        /* Date */
        .pf-tl-date {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            font-weight: 600;
            letter-spacing: 0.07em;
            color: rgba(255, 255, 255, 0.45);
            white-space: nowrap;
            text-align: center;
            padding: 5px 0;
        }

        /* ── Hover detail card ───────────────────────────────────── */
        .pf-tl-card {
            position: fixed;
            z-index: 9999;
            width: 268px;
            background: rgba(12, 12, 16, 0.97);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 14px;
            padding: 15px;
            pointer-events: none;
            opacity: 0;
            transform: translateY(6px) scale(0.97);
            transition: opacity 0.18s ease, transform 0.22s cubic-bezier(0.34, 1.2, 0.64, 1);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7), 0 1px 0 rgba(255, 255, 255, 0.05) inset;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
        }

        .pf-tl-card.visible {
            opacity: 1;
            transform: translateY(0) scale(1);
        }

        .pf-tl-card-header {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin-bottom: 10px;
        }

        .pf-tl-card-action {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.12em;
            padding: 3px 7px;
            border-radius: 4px;
            flex-shrink: 0;
            margin-top: 2px;
        }

        .pf-tl-card-action.buy {
            background: rgba(8, 209, 129, 0.15);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.3);
        }

        .pf-tl-card-action.sell {
            background: rgba(255, 69, 58, 0.13);
            color: #ff453a;
            border: 1px solid rgba(255, 69, 58, 0.28);
        }

        .pf-tl-card-company {
            font-size: 13px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.92);
            line-height: 1.2;
            letter-spacing: -0.02em;
        }

        .pf-tl-card-ticker {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            color: rgba(255, 255, 255, 0.3);
            letter-spacing: 0.1em;
            margin-top: 1px;
        }

        .pf-tl-card-sector-line {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.38);
            margin-top: 2px;
            letter-spacing: 0;
        }

        .pf-tl-card-verdict {
            font-family: var(--mono-font, monospace);
            font-size: 9px;
            font-weight: 700;
            letter-spacing: 0.1em;
            padding: 2px 6px;
            border-radius: 4px;
            margin-left: auto;
            flex-shrink: 0;
            white-space: nowrap;
            align-self: flex-start;
        }

        .pf-tl-card-divider {
            height: 1px;
            background: rgba(255, 255, 255, 0.07);
            margin: 10px 0;
        }

        .pf-tl-card-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 7px 12px;
            margin-bottom: 2px;
        }

        .pf-tl-card-stat {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .pf-tl-card-stat-label {
            font-family: var(--mono-font, monospace);
            font-size: 8px;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.25);
            text-transform: uppercase;
        }

        .pf-tl-card-stat-value {
            font-size: 12px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.85);
        }

        .pf-tl-card-stat-value.gain {
            color: #08d181;
        }

        .pf-tl-card-stat-value.loss {
            color: #ff453a;
        }

        /* Dimension score badges */
        .pf-tl-card-dims-label {
            font-family: var(--mono-font, monospace);
            font-size: 8px;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.2);
            text-transform: uppercase;
            margin-bottom: 7px;
        }

        .pf-tl-card-dim-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 5px;
        }

        .pf-tl-dim-badge {
            display: flex;
            align-items: center;
            gap: 4px;
            padding: 3px 7px 3px 5px;
            border-radius: 6px;
            border: 1px solid transparent;
        }

        .pf-tl-dim-badge-name {
            font-family: var(--mono-font, monospace);
            font-size: 7.5px;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            opacity: 0.65;
        }

        .pf-tl-dim-badge-score {
            font-size: 11px;
            font-weight: 800;
            letter-spacing: -0.02em;
            line-height: 1;
        }

        #pf-close-btn {
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            cursor: pointer;
            padding: 10px 14px;
            min-width: 44px;
            min-height: 44px;
            border-radius: 8px;
            font-size: 20px;
            line-height: 1;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        #pf-close-btn:hover {
            color: #fff;
            background: rgba(255, 65, 65, 0.2);
            border-color: rgba(255, 65, 65, 0.4);
        }

        /* ── KPI strip ── */
        #pf-kpi-row {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 1px;
            background: rgba(255, 255, 255, 0.06);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-shrink: 0;
        }

        .pf-kpi {
            background: #0c0d12;
            padding: 14px 18px;
            display: flex;
            flex-direction: column;
            gap: 5px;
            transition: background 0.15s;
        }

        .pf-kpi:hover {
            background: rgba(255, 255, 255, 0.025);
        }

        .pf-kpi-label {
            font-size: 8px;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.25);
            font-family: var(--mono-font, monospace);
        }

        .pf-kpi-val {
            font-size: 19px;
            font-weight: 800;
            letter-spacing: -0.02em;
            color: rgba(255, 255, 255, 0.92);
            font-family: var(--mono-font, monospace);
            line-height: 1.1;
        }

        .pf-kpi-sub {
            font-size: 10px;
            color: rgba(255, 255, 255, 0.28);
            font-family: var(--mono-font, monospace);
        }

        .pf-kpi.positive .pf-kpi-val {
            color: #08d181;
        }

        .pf-kpi.negative .pf-kpi-val {
            color: #ff453a;
        }

        /* ── Tabs ── */
        #pf-tabs {
            display: flex;
            gap: 0;
            padding: 0 20px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.015);
        }

        .pf-tab {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 11px 16px 12px;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.32);
            cursor: pointer;
            border: none;
            background: none;
            border-bottom: 2px solid transparent;
            margin-bottom: -1px;
            transition: color 0.15s, border-color 0.15s;
            white-space: nowrap;
            font-family: var(--mono-font, monospace);
        }

        .pf-tab:hover {
            color: rgba(255, 255, 255, 0.62);
        }

        .pf-tab.active {
            color: rgba(255, 255, 255, 0.9);
            border-bottom-color: var(--ui-accent);
        }

        .pf-tab svg {
            opacity: 0.5;
            flex-shrink: 0;
        }

        .pf-tab.active svg {
            opacity: 1;
        }

        /* Performance tab hidden temporarily */
        #pf-tab-performance,
        #pf-pane-performance {
            display: none !important;
        }

        /* ── Tab Panes ── */
        .pf-tab-pane {
            display: none;
            flex: 1 1 0%;
            overflow-x: clip;
            overflow-y: auto;
            min-height: 0;
            scrollbar-width: thin;
            scrollbar-color: rgba(255, 255, 255, 0.09) transparent;
        }

        .pf-tab-pane.active {
            display: flex;
            flex-direction: column;
        }

        /* ── Pane inner padding ── */
        .pf-pane-inner {
            padding: 20px;
            display: flex;
            flex-direction: column;
            gap: 16px;
            flex: 1;
        }

        /* ── Section title ── */
        .pf-section-title {
            font-size: 8.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.28);
            font-family: var(--mono-font, monospace);
        }

        /* ── Toolbar row ── */
        .pf-toolbar {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
        }

        .pf-search-wrap {
            position: relative;
            flex: 1;
            min-width: 140px;
            max-width: 300px;
        }

        .pf-search-wrap svg {
            position: absolute;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
            color: rgba(255, 255, 255, 0.28);
        }

        .pf-search-input {
            width: 100%;
            padding: 8px 12px 8px 32px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 8px;
            color: rgba(255, 255, 255, 0.85);
            font-size: 12px;
            font-family: inherit;
            outline: none;
            transition: border-color 0.15s;
        }

        .pf-search-input:focus {
            border-color: rgba(var(--ui-accent-rgb), 0.4);
        }

        .pf-search-input::placeholder {
            color: rgba(255, 255, 255, 0.22);
        }

        .pf-chip {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 5px 11px;
            border-radius: 99px;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            cursor: pointer;
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.38);
            background: none;
            transition: all 0.15s;
            white-space: nowrap;
            font-family: var(--mono-font, monospace);
        }

        .pf-chip:hover {
            color: rgba(255, 255, 255, 0.7);
            border-color: rgba(255, 255, 255, 0.2);
        }

        .pf-chip.active {
            color: rgba(255, 255, 255, 0.9);
            border-color: rgba(var(--ui-accent-rgb), 0.4);
            background: rgba(var(--ui-accent-rgb), 0.08);
        }

        /* ── Card wrapper ── */
        .pf-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 14px;
            overflow: hidden;
        }

        .pf-card-head {
            padding: 14px 16px 12px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
        }

        /* ── Holdings table ── */
        #pf-holdings-table {
            width: 100%;
            border-collapse: collapse;
        }

        #pf-holdings-table thead th {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.22);
            padding: 12px 14px;
            text-align: right;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            cursor: pointer;
            user-select: none;
            transition: color 0.15s;
            white-space: nowrap;
            font-family: var(--mono-font, monospace);
            background: rgba(255, 255, 255, 0.015);
        }

        #pf-holdings-table thead th:first-child {
            text-align: left;
            padding-left: 16px;
        }

        #pf-holdings-table thead th:last-child {
            cursor: default;
        }

        #pf-holdings-table thead th:hover:not(:last-child) {
            color: rgba(255, 255, 255, 0.6);
        }

        #pf-holdings-table thead th.sort-active {
            color: rgba(var(--ui-accent-rgb), 0.9);
        }

        #pf-holdings-table thead th.sort-active::after {
            content: ' \2193';
        }

        #pf-holdings-table thead th.sort-active.asc::after {
            content: ' \2191';
        }

        #pf-holdings-table tbody tr {
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            transition: background 0.12s;
        }

        #pf-holdings-table tbody tr:last-child {
            border-bottom: none;
        }

        #pf-holdings-table tbody tr:hover {
            background: rgba(255, 255, 255, 0.028);
        }

        #pf-holdings-table td {
            padding: 13px 14px;
            font-size: 12.5px;
            color: rgba(255, 255, 255, 0.75);
            text-align: right;
            vertical-align: middle;
        }

        #pf-holdings-table td:first-child {
            text-align: left;
            padding-left: 16px;
        }

        .pf-co-name {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.92);
            font-size: 13.5px;
            letter-spacing: -0.01em;
            display: block;
        }

        .pf-co-ticker {
            font-size: 9.5px;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.28);
            letter-spacing: 0.1em;
            text-transform: uppercase;
            display: block;
            margin-top: 2px;
        }

        .pf-verdict-badge {
            display: inline-block;
            font-size: 7.5px;
            font-weight: 800;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 2px 6px;
            border-radius: 3px;
            margin-top: 4px;
            font-family: var(--mono-font, monospace);
        }

        .pf-mono {
            font-family: var(--mono-font, monospace);
            font-size: 12px;
        }

        .pf-gain,
        #pf-holdings-table .pf-gain,
        .pf-tx-table .pf-gain {
            color: #08d181 !important;
            font-weight: 700;
        }

        .pf-loss,
        #pf-holdings-table .pf-loss,
        .pf-tx-table .pf-loss {
            color: #ff453a !important;
            font-weight: 700;
        }

        .pf-flat {
            color: rgba(255, 255, 255, 0.38);
        }

        /* Inline link button */
        .pf-link-btn {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            padding: 4px 9px;
            border-radius: 5px;
            border: 1px solid rgba(var(--ui-accent-rgb), 0.22);
            color: rgba(var(--ui-accent-rgb), 0.7);
            background: rgba(var(--ui-accent-rgb), 0.06);
            font-size: 9.5px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            letter-spacing: 0.06em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.15s;
            text-decoration: none;
            white-space: nowrap;
        }

        .pf-link-btn:hover {
            border-color: rgba(var(--ui-accent-rgb), 0.5);
            color: var(--ui-accent);
            background: rgba(var(--ui-accent-rgb), 0.12);
        }

        .pf-empty-state {
            text-align: center;
            padding: 52px 24px;
            color: rgba(255, 255, 255, 0.22);
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
        }

        .pf-empty-state p {
            font-size: 13px;
            color: rgba(255, 255, 255, 0.35);
        }

        .pf-empty-state span {
            font-size: 11px;
        }

        .pf-shimmer {
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.2);
            text-align: center;
            padding: 36px 24px;
            text-transform: uppercase;
        }

        /* ── 2-col layout ── */
        #pf-positions-layout {
            display: grid;
            grid-template-columns: 1fr 268px;
            gap: 14px;
            align-items: start;
            flex: 1;
        }

        #pf-sidebar {
            display: flex;
            flex-direction: column;
            gap: 12px;
            position: sticky;
            top: 0;
        }

        /* ── Donut card ── */
        #pf-donut-wrap {
            position: relative;
            height: 152px;
            margin: 4px 0 12px;
        }

        #pf-donut-center {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
            pointer-events: none;
        }

        #pf-donut-val {
            font-size: 16px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.9);
            font-family: var(--mono-font, monospace);
            letter-spacing: -0.02em;
        }

        #pf-donut-lbl {
            font-size: 7.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.28);
            font-family: var(--mono-font, monospace);
        }

        #pf-donut-legend {
            display: flex;
            flex-direction: column;
            gap: 6px;
            padding: 0 16px 14px;
        }

        .pf-legend-row {
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .pf-legend-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            flex-shrink: 0;
        }

        .pf-legend-name {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 11px;
            color: rgba(255, 255, 255, 0.6);
            flex: 1;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .pf-legend-pct {
            font-size: 10px;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.38);
        }

        /* ── Benchmark card ── */
        .pf-bm-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 9px 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            font-size: 11.5px;
        }

        .pf-bm-row:last-child {
            border-bottom: none;
        }

        .pf-bm-label {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 12px;
            color: rgba(255, 255, 255, 0.4);
        }

        .pf-bm-val {
            font-family: var(--mono-font, monospace);
            font-size: 11.5px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.8);
        }

        .pf-alpha-badge {
            font-size: 8.5px;
            font-weight: 800;
            padding: 2px 7px;
            border-radius: 4px;
            font-family: var(--mono-font, monospace);
        }

        .pf-alpha-pos {
            background: rgba(8, 209, 129, 0.12);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.2);
        }

        .pf-alpha-neg {
            background: rgba(255, 69, 58, 0.12);
            color: #ff453a;
            border: 1px solid rgba(255, 69, 58, 0.2);
        }

        /* ── Transactions tab ── */
        #pf-tx-wrap {
            display: flex;
            flex-direction: column;
            gap: 0;
        }

        .pf-tx-table {
            width: 100%;
            border-collapse: collapse;
        }

        .pf-tx-table thead th {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: rgba(255, 255, 255, 0.22);
            padding: 12px 14px;
            text-align: left;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            white-space: nowrap;
            font-family: var(--mono-font, monospace);
            background: rgba(255, 255, 255, 0.015);
        }

        .pf-tx-table tbody tr {
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            transition: background 0.12s;
        }

        .pf-tx-table tbody tr:last-child {
            border-bottom: none;
        }

        .pf-tx-table tbody tr:hover {
            background: rgba(255, 255, 255, 0.028);
        }

        .pf-tx-table td {
            padding: 12px 14px;
            font-size: 12px;
            color: rgba(255, 255, 255, 0.7);
            vertical-align: middle;
        }

        .pf-tx-badge {
            display: inline-block;
            font-size: 8px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            padding: 3px 8px;
            border-radius: 4px;
            font-family: var(--mono-font, monospace);
        }

        .pf-tx-buy {
            background: rgba(8, 209, 129, 0.1);
            color: #08d181;
            border: 1px solid rgba(8, 209, 129, 0.18);
        }

        .pf-tx-sell {
            background: rgba(255, 69, 58, 0.1);
            color: #ff453a;
            border: 1px solid rgba(255, 69, 58, 0.18);
        }

        /* ── Analytics ── */
        #pf-analytics-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
        }

        .pf-an-card {
            background: rgba(255, 255, 255, 0.025);
            border: 1px solid rgba(255, 255, 255, 0.06);
            border-radius: 14px;
            padding: 18px 18px 16px;
        }

        .pf-an-card.wide {
            grid-column: 1 / -1;
        }

        .pf-perf-kpis {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
            gap: 10px;
        }

        .pf-perf-kpi {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 12px;
            padding: 12px 14px;
        }

        .pf-perf-kpi-label {
            font-family: var(--mono-font, monospace);
            font-size: 8.5px;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, 0.35);
        }

        .pf-perf-kpi-val {
            margin-top: 6px;
            font-family: var(--mono-font, monospace);
            font-size: 20px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.9);
            line-height: 1;
        }

        .pf-perf-kpi-val.is-pos { color: var(--green-profit); }
        .pf-perf-kpi-val.is-neg { color: var(--score-1); }

        .pf-perf-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 10px;
        }

        .pf-perf-ranges { display: flex; gap: 4px; }

        .pf-perf-range {
            min-width: 44px;
            min-height: 32px;
            padding: 0 10px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.12);
            background: rgba(255, 255, 255, 0.03);
            color: rgba(255, 255, 255, 0.55);
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.06em;
            cursor: pointer;
        }

        .pf-perf-range:hover { color: #fff; border-color: rgba(255, 255, 255, 0.3); }

        .pf-perf-range.active {
            color: #fff;
            background: rgba(var(--ui-accent-rgb), 0.18);
            border-color: rgba(var(--ui-accent-rgb), 0.6);
        }

        .pf-perf-legend { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }

        .pf-perf-leg {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            font-family: var(--mono-font, monospace);
            font-size: 10px;
            color: rgba(255, 255, 255, 0.6);
        }

        .pf-perf-swatch { width: 16px; height: 3px; border-radius: 2px; }
        .pf-perf-swatch.is-ivv { background: rgba(255, 255, 255, 0.5); }

        .pf-perf-chart { position: relative; width: 100%; min-height: 240px; }
        .pf-perf-chart svg { display: block; width: 100%; touch-action: pan-y; }

        .pf-perf-tip {
            position: absolute;
            pointer-events: none;
            min-width: 150px;
            padding: 9px 11px;
            border-radius: 10px;
            background: rgba(10, 12, 18, 0.96);
            border: 1px solid rgba(255, 255, 255, 0.16);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
            font-family: var(--mono-font, monospace);
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.85);
            display: none;
            z-index: 3;
        }

        .pf-perf-tip-date { color: rgba(255, 255, 255, 0.45); margin-bottom: 5px; font-size: 9.5px; }
        .pf-perf-tip-row { display: flex; justify-content: space-between; gap: 14px; line-height: 1.6; }

        .pf-perf-empty {
            padding: 48px 16px;
            text-align: center;
            color: rgba(255, 255, 255, 0.45);
            font-family: var(--mono-font, monospace);
            font-size: 11px;
            line-height: 1.6;
        }

        .pf-perf-note {
            margin-top: 10px;
            font-size: 10.5px;
            color: rgba(255, 255, 255, 0.35);
            line-height: 1.5;
        }

        .pf-an-title {
            font-size: 8px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.16em;
            color: rgba(255, 255, 255, 0.25);
            margin-bottom: 16px;
            font-family: var(--mono-font, monospace);
        }

        /* Verdict distribution bars */
        .pf-vd-row {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 9px;
        }

        .pf-vd-row:last-child {
            margin-bottom: 0;
        }

        .pf-vd-label {
            font-size: 9.5px;
            font-weight: 700;
            width: 82px;
            flex-shrink: 0;
            color: rgba(255, 255, 255, 0.55);
            font-family: var(--mono-font, monospace);
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }

        .pf-vd-track {
            flex: 1;
            height: 5px;
            background: rgba(255, 255, 255, 0.06);
            border-radius: 99px;
            overflow: hidden;
        }

        .pf-vd-fill {
            height: 100%;
            border-radius: 99px;
            transition: width 0.55s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .pf-vd-count {
            font-size: 10px;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.3);
            width: 20px;
            text-align: right;
        }

        /* Top performers */
        .pf-tp-row {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 10px;
            border-radius: 8px;
            transition: background 0.12s;
            margin-bottom: 4px;
        }

        .pf-tp-row:last-child {
            margin-bottom: 0;
        }

        .pf-tp-row:hover {
            background: rgba(255, 255, 255, 0.03);
        }

        .pf-tp-rank {
            font-size: 8.5px;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.2);
            width: 16px;
            font-family: var(--mono-font, monospace);
        }

        .pf-tp-name {
            flex: 1;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            font-size: 12px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.75);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .pf-tp-ticker {
            font-size: 9.5px;
            font-family: var(--mono-font, monospace);
            color: rgba(255, 255, 255, 0.3);
            text-transform: uppercase;
            flex-shrink: 0;
        }

        .pf-tp-pct {
            font-size: 12px;
            font-weight: 700;
            font-family: var(--mono-font, monospace);
            flex-shrink: 0;
        }

        /* P&L bar chart */
        #pf-perf-chart-wrap {
            height: 180px;
            position: relative;
        }

        /* ── Dimension Score Orbs ── */
        #pf-score-grid {
            display: grid;
            grid-template-columns: repeat(8, 1fr);
            gap: 12px;
            padding: 4px 2px 6px;
        }

        .pf-sc-orb-wrap {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
        }

        @keyframes pfOrbPop {
            0% {
                transform: scale(0);
                opacity: 0;
            }

            65% {
                transform: scale(1.08);
                opacity: 1;
            }

            100% {
                transform: scale(1);
                opacity: 1;
            }
        }

        .pf-sc-orb {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            flex-shrink: 0;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .pf-sc-orb.orb-enter {
            animation: pfOrbPop 0.38s cubic-bezier(0.34, 1.56, 0.64, 1) both;
        }

        .pf-sc-orb:hover {
            transform: scale(1.06);
        }

        .pf-sc-orb-val {
            font-size: 20px;
            font-weight: 900;
            font-family: var(--header-font);
            letter-spacing: -0.03em;
            position: relative;
            z-index: 1;
        }

        .pf-sc-orb-label {
            font-size: 7.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: rgba(255, 255, 255, 0.35);
            text-align: center;
            font-family: var(--header-font);
            line-height: 1.2;
        }

        .pf-sc-orb.no-data {
            background: rgba(255, 255, 255, 0.04) !important;
            border: 1px solid rgba(255, 255, 255, 0.07) !important;
            box-shadow: none !important;
        }

        .pf-sc-orb.no-data .pf-sc-orb-val {
            color: rgba(255, 255, 255, 0.18);
            font-size: 16px;
        }

        /* ── Alpha highlight ── */
        #pf-kpi-benchmark {
            position: relative;
        }

        #pf-kpi-benchmark::before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 0;
            background: linear-gradient(135deg, rgba(8, 209, 129, 0.04) 0%, transparent 60%);
            pointer-events: none;
        }

        #pf-kpi-benchmark .pf-kpi-label {
            color: rgba(8, 209, 129, 0.55);
        }

        .pf-bm-row.alpha-row {
            background: rgba(8, 209, 129, 0.04);
            border-radius: 6px;
            font-weight: 700;
        }

        .pf-bm-row.alpha-row .pf-bm-label {
            color: rgba(255, 255, 255, 0.7);
            font-weight: 700;
        }

        /* ── Mobile ── */
        @media (max-width: 680px) {
            #pf-panel {
                width: 100vw;
                height: 100dvh;
                border-radius: 0;
                overflow: hidden;
                display: flex;
                flex-direction: column;
            }

            .pf-tab-pane {
                flex: 1;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                padding-bottom: 40px;
            }

            #pf-kpi-row {
                display: flex !important;
                flex-wrap: nowrap !important;
                overflow-x: auto !important;
                -webkit-overflow-scrolling: touch !important;
                gap: 12px !important;
                padding: 12px 16px !important;
                scrollbar-width: none !important;
                border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            }

            #pf-kpi-row::-webkit-scrollbar {
                display: none !important;
            }

            #pf-kpi-row .pf-kpi {
                flex: 0 0 auto !important;
                min-width: 130px !important;
                border: 1px solid rgba(255, 255, 255, 0.08) !important;
                border-radius: 12px !important;
                padding: 10px 12px !important;
                background: rgba(255, 255, 255, 0.02);
            }

            #pf-positions-layout {
                grid-template-columns: 1fr;
            }

            #pf-sidebar {
                display: none;
            }

            /* Hide Mkt Value (2), Shares (3), Price (4), Avg Cost (5) */
            #pf-holdings-table thead th:nth-child(2),
            #pf-holdings-table thead th:nth-child(3),
            #pf-holdings-table thead th:nth-child(4),
            #pf-holdings-table thead th:nth-child(5) {
                display: none !important;
            }

            #pf-holdings-table td:nth-child(2),
            #pf-holdings-table td:nth-child(3),
            #pf-holdings-table td:nth-child(4),
            #pf-holdings-table td:nth-child(5) {
                display: none !important;
            }

            /* Hide Ticker (4), Shares (5), Price (6), Total (7), P&L (8) */
            .pf-tx-table thead th:nth-child(4),
            .pf-tx-table thead th:nth-child(5),
            .pf-tx-table thead th:nth-child(6),
            .pf-tx-table thead th:nth-child(7),
            .pf-tx-table thead th:nth-child(8) {
                display: none !important;
            }

            .pf-tx-table td:nth-child(4),
            .pf-tx-table td:nth-child(5),
            .pf-tx-table td:nth-child(6),
            .pf-tx-table td:nth-child(7),
            .pf-tx-table td:nth-child(8) {
                display: none !important;
            }

            #pf-analytics-grid {
                grid-template-columns: 1fr;
            }

            .pf-an-card.wide {
                grid-column: 1;
            }

            #pf-score-grid {
                grid-template-columns: repeat(4, 1fr);
            }

            #pf-tabs {
                padding: 0;
                justify-content: space-between;
            }

            .pf-tab span {
                display: block;
                /* Show text labels on mobile */
            }

            .pf-tab {
                padding: 14px 8px;
                flex: 1;
                justify-content: center;
                font-size: 11px;
            }

            .pf-pane-inner {
                padding: 14px;
                gap: 12px;
            }

            .pf-toolbar {
                gap: 6px;
            }

            #pf-header {
                padding-right: 56px !important;
                position: sticky;
                top: 0;
                z-index: 100;
                background: #0c0d12;
            }

            #pf-close-btn {
                position: absolute !important;
                right: 8px !important;
                top: 10px !important;
                z-index: 101;
            }

            #pf-header-title {
                font-size: 20px;
            }

            /* Re-enabled timeline on mobile — improved height handling */
            #pf-timeline-wrap {
                display: block !important;
                padding: 10px 12px 0 !important;
            }

            #pf-timeline-scroll {
                height: 230px !important;
                /* Compact height for mobile */
            }

            #pf-timeline-track {
                height: 230px !important;
                padding: 0 16px !important;
            }

            .pf-tl-item {
                height: 230px !important;
            }

            /* TX table needs horizontal scroll so report button isn't clipped */
            #pf-tx-wrap {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }

            /* Compact disclaimer strip */
            #pf-disclaimer-strip {
                padding: 4px 10px;
                gap: 3px;
            }

            .pf-disclaimer {
                font-size: 7px !important;
                padding: 2px 5px !important;
                white-space: normal !important;
                /* Allow wrapping for long disclaimers */
                line-height: 1.2 !important;
            }

            .pf-disclaimer svg {
                width: 8px !important;
                height: 8px !important;
            }
        }

        @media (max-width: 420px) {

            /* KPI row already flex in the 680px block */
            #pf-kpi-row .pf-kpi {
                min-width: 120px !important;
                padding: 8px 10px !important;
            }

            #pf-score-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

/* ── Extracted Style Block #8 ── */
.controversy-highlight {
                color: rgba(var(--ui-accent-rgb), 0.95);
                text-shadow: 0 0 12px rgba(var(--ui-accent-rgb), 0.4);
                font-weight: 600;
            }

            @media (max-width: 768px) {

                /* Suppress quote button on mobile — native long-press copy UI is sufficient */
                #rr-quote-btn {
                    display: none !important;
                }

                /* Contain pulse so it doesn't cause horizontal overflow on narrow viewports */
                [id^="report-section-verdict-"] {
                    animation: none;
                }
            }