/* Module 1: market overview */


        .part1-module {
            /* Colors */
            --background-primary: #000000;
            --background-secondary: #000000;
            --background-card: #000000;
            --background-hover: #272727;
            --text-primary: #e2e2e2;
            --text-secondary: #707070;
            --text-muted: #4a4a4a;
            --accent-blue: #e0e0e0;
            --accent-green: #3ecf6e;
            --accent-red: #e84545;
            --accent-purple: #c4c4c4;
            --border-color: #272727;
            --border-subtle: #333333;

            /* Typography */
            --font-family: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif;
            --size-hero-heading: 64px;
            --size-h1: 28px;
            --size-h2: 20px;
            --size-h3: 16px;
            --size-body: 14px;
            --size-small: 12px;

            /* Spacing */
            --spacing-xs: 4px;
            --spacing-sm: 8px;
            --spacing-md: 16px;
            --spacing-lg: 24px;
            --spacing-xl: 32px;
            --spacing-xxl: 48px;

            /* Radii */
            --radius-sm: 4px;
            --radius-md: 6px;
            --radius-lg: 8px;
            --radius-xl: 12px;
            --radius-pill: 20px;
            --radius-button: 24px;
        }

        .part1-module * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .part1-module {
            font-family: var(--font-family);
            background-color: var(--background-primary);
            color: var(--text-primary);
            font-size: var(--size-body);
            line-height: 1.5;
            overflow-x: hidden;
        }

        /* Header Styles */
        .part1-module header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 64px;
            background-color: var(--background-primary);
            border-bottom: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 var(--spacing-lg);
            z-index: 1000;
        }

        .part1-module .header-left {
            display: flex;
            align-items: center;
            gap: var(--spacing-xl);
        }

        .part1-module .logo {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            color: var(--text-primary);
            text-decoration: none;
            font-weight: bold;
            font-size: var(--size-h2);
        }

        .part1-module .logo-icon {
            width: 28px;
            height: 28px;
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
            border-radius: var(--radius-sm);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 18px;
        }

        .part1-module .search-bar {
            position: relative;
            width: 280px;
        }

        .part1-module .search-input {
            width: 100%;
            height: 40px;
            background-color: var(--background-secondary);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-pill);
            padding: 0 var(--spacing-md) 0 44px;
            color: var(--text-primary);
            font-size: var(--size-body);
            outline: none;
            transition: border-color 0.2s;
        }

        .part1-module .search-input:focus {
            border-color: var(--accent-blue);
        }

        .part1-module .search-icon {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-secondary);
            pointer-events: none;
        }

        .part1-module .nav-menu {
            display: flex;
            align-items: center;
            gap: var(--spacing-xl);
            list-style: none;
        }

        .part1-module .nav-link {
            color: var(--text-primary);
            text-decoration: none;
            font-size: var(--size-body);
            font-weight: medium;
            transition: color 0.2s;
            position: relative;
        }

        .part1-module .nav-link:hover {
            color: var(--text-primary);
        }

        .part1-module .nav-link::after {
            content: '';
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 2px;
            background-color: var(--text-primary);
            opacity: 0;
            transition: opacity 0.2s;
        }

        .part1-module .nav-link:hover::after {
            opacity: 1;
        }

        .part1-module .header-right {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
        }

        .part1-module .user-avatar {
            width: 36px;
            height: 36px;
            background: linear-gradient(135deg, #e91e63, #9c27b0);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            cursor: pointer;
            position: relative;
        }

        .part1-module .user-avatar::after {
            content: '';
            position: absolute;
            top: -2px;
            right: -2px;
            width: 10px;
            height: 10px;
            background-color: var(--accent-red);
            border-radius: 50%;
            border: 2px solid var(--background-primary);
        }

        .part1-module .upgrade-btn {
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: var(--radius-button);
            font-size: var(--size-small);
            font-weight: bold;
            cursor: pointer;
            white-space: nowrap;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .part1-module .upgrade-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(41, 98, 255, 0.3);
        }

        .part1-module .module-main {
            margin-top: 64px;
        }
            /* Hero Section Styles */
        .part1-module .hero-section {
            position: relative;
            width: 100%;
            min-height: calc(100vh - 64px);
            background: linear-gradient(180deg,
                #0a0e1a 0%,
                #000000 30%,
                #111111 60%,
                #000000 100%
            );
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .part1-module .hero-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

        .part1-module .aurora-effect {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 60%;
            background: linear-gradient(180deg,
                rgba(147, 51, 234, 0.15) 0%,
                rgba(236, 72, 153, 0.1) 25%,
                rgba(59, 130, 246, 0.08) 50%,
                transparent 100%
            );
            filter: blur(40px);
        }

        .part1-module .aurora-lines {
            position: absolute;
            top: 5%;
            left: 0;
            width: 100%;
            height: 50%;
            background-image: repeating-linear-gradient(
                90deg,
                transparent,
                transparent 20px,
                rgba(147, 51, 234, 0.3) 20px,
                rgba(147, 51, 234, 0.3) 22px
            );
            opacity: 0.4;
            filter: blur(2px);
            animation: shimmer 8s ease-in-out infinite;
        }

        @keyframes shimmer {
            0%, 100% { opacity: 0.3; transform: translateX(-10px); }
            50% { opacity: 0.5; transform: translateX(10px); }
        }

        .part1-module .stars {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image:
                radial-gradient(2px 2px at 20% 30%, white, transparent),
                radial-gradient(2px 2px at 60% 70%, white, transparent),
                radial-gradient(1px 1px at 50% 50%, white, transparent),
                radial-gradient(1px 1px at 80% 10%, white, transparent),
                radial-gradient(2px 2px at 90% 60%, white, transparent),
                radial-gradient(1px 1px at 33% 80%, white, transparent),
                radial-gradient(1px 1px at 15% 90%, white, transparent);
            background-size: 200% 200%;
            animation: twinkle 6s ease-in-out infinite;
        }

        @keyframes twinkle {
            0%, 100% { opacity: 0.5; }
            50% { opacity: 1; }
        }

        .part1-module .earth-glow {
            position: absolute;
            bottom: -20%;
            left: 50%;
            transform: translateX(-50%);
            width: 120%;
            height: 50%;
            background: radial-gradient(ellipse at center bottom,
                rgba(255, 140, 0, 0.15) 0%,
                rgba(255, 69, 0, 0.08) 30%,
                transparent 70%
            );
            filter: blur(30px);
        }

        .part1-module .close-hero-btn {
            position: absolute;
            top: var(--spacing-lg);
            right: var(--spacing-lg);
            width: 40px;
            height: 40px;
            background-color: rgba(255, 255, 255, 0.05);
            border: none;
            border-radius: 50%;
            color: var(--text-primary);
            font-size: 24px;
            cursor: pointer;
            z-index: 10;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.2s;
        }

        .part1-module .close-hero-btn:hover {
            background-color: rgba(255, 255, 255, 0.1);
        }

        .part1-module .hero-content {
            position: relative;
            z-index: 5;
            text-align: center;
            max-width: 900px;
            padding: 0 var(--spacing-md);
        }

        .part1-module .hero-heading {
            font-size: var(--size-hero-heading);
            font-weight: bold;
            color: white;
            margin-bottom: var(--spacing-lg);
            line-height: 1.15;
            letter-spacing: -1px;
        }

        .part1-module .hero-subheading {
            font-size: 22px;
            color: var(--text-primary);
            margin-bottom: var(--spacing-xl);
            font-weight: normal;
            opacity: 0.9;
        }

        .part1-module .hero-cta-btn {
            background-color: white;
            color: var(--background-primary);
            border: none;
            padding: 16px 36px;
            border-radius: var(--radius-button);
            font-size: var(--size-h3);
            font-weight: bold;
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
            margin-bottom: var(--spacing-md);
        }

        .part1-module .hero-cta-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(255, 255, 255, 0.25);
        }

        .part1-module .hero-secondary-text {
            font-size: var(--size-body);
            color: var(--text-secondary);
            margin-top: var(--spacing-md);
        }

        .part1-module .space-story-card {
            position: absolute;
            bottom: var(--spacing-xl);
            right: var(--spacing-xl);
            background-color: rgba(30, 34, 45, 0.85);
            backdrop-filter: blur(10px);
            border-radius: var(--radius-lg);
            padding: var(--spacing-lg);
            max-width: 280px;
            z-index: 5;
            border: 1px solid var(--border-subtle);
        }

        .part1-module .space-story-title {
            font-size: var(--size-h3);
            font-weight: bold;
            color: white;
            margin-bottom: var(--spacing-xs);
        }

        .part1-module .space-story-subtitle {
            font-size: var(--size-small);
            color: var(--text-secondary);
            margin-bottom: var(--spacing-md);
        }

        .part1-module .space-mission-btn {
            background-color: var(--background-hover);
            color: var(--text-primary);
            border: 1px solid var(--border-color);
            padding: 10px 20px;
            border-radius: var(--radius-pill);
            font-size: var(--size-small);
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            transition: background-color 0.2s;
            width: 100%;
            justify-content: center;
        }

        .part1-module .space-mission-btn:hover {
            background-color: var(--border-color);
        }

        .part1-module .scroll-indicator {
            position: absolute;
            bottom: var(--spacing-lg);
            left: 50%;
            transform: translateX(-50%);
            z-index: 5;
            color: var(--text-secondary);
            animation: bounce 2s infinite;
        }

        @keyframes bounce {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(10px); }
        }

        .part1-module .hero-section.hidden {
            display: none;
        }

        /* Dashboard Layout */
        .part1-module .dashboard-container {
            display: flex;
            min-height: calc(100vh - 64px);
            position: relative;
        }

        .part1-module .main-content {
            flex: 1;
            padding: var(--spacing-lg);
            overflow-x: hidden;
        }
        /* Market Overview Section */
        .part1-module .market-overview {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-lg);
        }

        .part1-module .chart-card {
            background-color: var(--background-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-color);
            padding: var(--spacing-lg);
            position: relative;
        }

        .part1-module .sp500-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-lg);
        }

        .part1-module .sp500-icon {
            width: 64px;
            height: 64px;
            flex: 0 0 64px;
            background: transparent;
            border: 0;
            border-radius: 0;
            box-shadow: none;
            overflow: visible;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 18px;
        }

        .part1-module .sp500-info {
            flex: 1;
            min-width: 0;
        }

        .part1-module .sp500-title {
            font-size: var(--size-h3);
            color: var(--text-primary);
            margin-bottom: 2px;
        }

        .part1-module .sp500-symbol {
            font-size: var(--size-small);
            color: var(--text-secondary);
            display: block;
        }

        .part1-module .sp500-price-row {
            display: flex;
            align-items: baseline;
            gap: var(--spacing-md);
        }

        .part1-module .sp500-price {
            font-size: 28px;
            font-weight: bold;
            color: white;
        }

        .part1-module .sp500-label {
            font-size: var(--size-small);
            color: var(--text-secondary);
        }

        .part1-module .sp500-change {
            color: var(--accent-green);
            font-size: var(--size-h3);
            font-weight: medium;
        }

        .part1-module .chart-container {
            position: relative;
            width: 100%;
            height: 320px;
            margin-top: var(--spacing-md);
        }

        .part1-module .chart-svg {
            width: 100%;
            height: 100%;
            shape-rendering: geometricPrecision;
        }

        .part1-module .chart-line {
            fill: none;
            stroke: #f23645;
            stroke-width: 2;
            vector-effect: non-scaling-stroke;
        }

        .part1-module .chart-area {
            fill: url(#redGradient);
            opacity: 1;
        }

        .part1-module .time-axis {
            display: flex;
            justify-content: space-between;
            margin-top: var(--spacing-sm);
            padding-top: var(--spacing-sm);
            border-top: 1px solid var(--border-color);
        }

        .part1-module .time-label {
            font-size: var(--size-small);
            color: var(--text-muted);
        }

        /* Major Indices List */
        .part1-module .indices-card {
            background-color: var(--background-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-color);
            padding: var(--spacing-lg);
        }

        .part1-module .indices-header {
            font-size: var(--size-h3);
            font-weight: bold;
            color: white;
            margin-bottom: var(--spacing-lg);
        }

        .part1-module .indices-list {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-md);
        }

        .part1-module .index-item {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) 0;
            transition: opacity 0.2s;
            color: inherit;
            text-decoration: none;
        }

        .part1-module .index-item:hover {
            opacity: 0.85;
        }

        .part1-module .index-icon {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 14px;
            flex-shrink: 0;
        }

        .part1-module .index-icon.nasdaq { background-color: #e0e0e0; }
        .part1-module .index-icon.japan { background-color: #546e7a; }
        .part1-module .index-icon.sse { background-color: #1976d2; }
        .part1-module .index-icon.ftse { background-color: #42a5f5; }
        .part1-module .index-icon.dax { background-color: #1565c0; }
        .part1-module .index-icon.cac { background-color: #3ecf6e; }

        .part1-module .index-info {
            flex: 1;
            min-width: 0;
        }

        .part1-module .index-name {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .part1-module .index-trend {
            font-size: 12px;
            color: var(--text-muted);
        }

        .part1-module .index-symbol-label {
            font-size: var(--size-small);
            color: var(--text-secondary);
            background-color: var(--background-hover);
            padding: 2px 6px;
            border-radius: var(--radius-sm);
            margin-left: auto;
        }

        .part1-module .index-data {
            text-align: right;
            flex-shrink: 0;
        }

        .part1-module .index-value {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
            white-space: nowrap;
        }

        .part1-module .index-change {
            font-size: var(--size-small);
            font-weight: medium;
            margin-top: 2px;
        }

        .part1-module .index-change.positive { color: var(--accent-green); }
        .part1-module .index-change.negative { color: var(--accent-red); }

        .part1-module .see-all-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: var(--accent-blue);
            font-size: var(--size-small);
            text-decoration: none;
            margin-top: var(--spacing-md);
            font-weight: medium;
        }

        .part1-module .see-all-link:hover {
            text-decoration: underline;
        }

        /* Market Data Cards Row */
        .part1-module .market-data-row-top {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-lg);
        }

        .part1-module .data-card {
            background-color: var(--background-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-color);
            padding: var(--spacing-lg);
            display: flex;
            flex-direction: column;
        }

        .part1-module .data-card-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-md);
        }

        .part1-module .data-card-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 16px;
        }

        .part1-module .data-card-icon.crypto { background-color: #e0e0e0; }
        .part1-module .data-card-icon.dollar { background-color: #3ecf6e; }
        .part1-module .data-card-icon.yield { background-color: #e84545; }

        .part1-module .data-card-title {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
        }

        .part1-module .data-card-badge {
            font-size: 10px;
            color: var(--text-secondary);
            background-color: var(--background-hover);
            padding: 2px 6px;
            border-radius: var(--radius-sm);
            margin-left: auto;
        }

        .part1-module .data-card-value {
            font-size: var(--size-h3);
            color: var(--text-primary);
            font-weight: medium;
            margin-bottom: 4px;
        }

        .part1-module .data-card-change {
            font-size: var(--size-small);
            font-weight: medium;
            margin-bottom: var(--spacing-md);
        }

        .part1-module .data-card-change.positive { color: var(--accent-green); }
        .part1-module .data-card-change.negative { color: var(--accent-red); }

        .part1-module .sparkline-container {
            flex: 1;
            position: relative;
            min-height: 100px;
            margin-top: auto;
        }

        .part1-module .sparkline-svg {
            width: 100%;
            height: 100%;
        }

        .part1-module .sparkline-line {
            fill: none;
            stroke-width: 1.5;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .part1-module .sparkline-line.green { stroke: var(--accent-green); }
        .part1-module .sparkline-area.green {
            fill: url(#greenGradient);
            opacity: 0.15;
        }

        .part1-module .time-label-bottom {
            text-align: center;
            font-size: var(--size-small);
            color: var(--text-muted);
            margin-top: var(--spacing-sm);
        }

        /* Market Data Bottom Section */
        .part1-module .market-data-row-bottom {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-lg);
        }

        /* Bitcoin Dominance Card */
        .part1-module .bitcoin-dominance-card {
            background-color: var(--background-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-color);
            padding: var(--spacing-lg);
        }

        .part1-module .section-title {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
            margin-bottom: var(--spacing-md);
        }

        .part1-module .dominance-chart-container {
            margin-top: var(--spacing-md);
        }

        .part1-module .dominance-bar-wrapper {
            display: flex;
            height: 24px;
            border-radius: var(--radius-sm);
            overflow: hidden;
            margin-bottom: var(--spacing-md);
        }

        .part1-module .dominance-segment {
            height: 100%;
            transition: opacity 0.2s;
        }

        .part1-module .dominance-segment:hover {
            opacity: 0.85;
        }

        .part1-module .dominance-segment.bitcoin { background-color: #e0e0e0; width: 59.23%; }
        .part1-module .dominance-segment.ethereum { background-color: #3ecf6e; width: 10.37%; }
        .part1-module .dominance-segment.others { background-color: #e84545; width: 30.40%; }

        .part1-module .dominance-legend {
            display: flex;
            justify-content: space-between;
            font-size: var(--size-small);
        }

        .part1-module .legend-item {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .part1-module .legend-label {
            color: var(--text-secondary);
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .part1-module .legend-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
        }

        .part1-module .legend-dot.bitcoin { background-color: #e0e0e0; }
        .part1-module .legend-dot.ethereum { background-color: #3ecf6e; }
        .part1-module .legend-dot.others { background-color: #e84545; }

        .part1-module .legend-value {
            color: var(--text-primary);
            font-weight: medium;
        }

        /* Crypto Assets List */
        .part1-module .crypto-assets-list {
            margin-top: var(--spacing-lg);
            display: flex;
            flex-direction: column;
            gap: var(--spacing-sm);
        }

        .part1-module .crypto-item {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) 0;
        }

        .part1-module .crypto-icon {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            flex-shrink: 0;
        }

        .part1-module .crypto-icon.btc { background-color: #f7931a; }
        .part1-module .crypto-icon.eth { background-color: #627eea; }

        .part1-module .crypto-info {
            flex: 1;
        }

        .part1-module .crypto-name {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
        }

        .part1-module .crypto-symbol {
            font-size: var(--size-small);
            color: var(--text-secondary);
            background-color: var(--background-hover);
            padding: 2px 6px;
            border-radius: var(--radius-sm);
        }

        .part1-module .crypto-price-data {
            text-align: right;
        }

        .part1-module .crypto-price {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
        }

        .part1-module .crypto-change {
            font-size: var(--size-small);
            font-weight: medium;
        }

        .part1-module .crypto-change.positive { color: var(--accent-green); }

        .part1-module .see-all-link-inline {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: var(--accent-blue);
            font-size: var(--size-small);
            text-decoration: none;
            margin-top: var(--spacing-md);
            font-weight: medium;
        }

        .part1-module .see-all-link-inline:hover {
            text-decoration: underline;
        }

        /* Commodities Card */
        .part1-module .commodities-card {
            background-color: var(--background-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-color);
            padding: var(--spacing-lg);
        }

        .part1-module .commodities-list {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-md);
            margin-top: var(--spacing-md);
        }

        .part1-module .commodity-item {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) 0;
        }

        .part1-module .commodity-icon {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            flex-shrink: 0;
        }

        .part1-module .commodity-icon.oil { background-color: #e0e0e0; }
        .part1-module .commodity-icon.gas { background-color: #e0e0e0; }
        .part1-module .commodity-icon.gold { background-color: #ffa726; }
.part1-module .commodity-icon.copper { background-color: #b87333; }

.part1-module .commodity-icon.club-crest {
  background: transparent;
  border-radius: 0;
}

.part1-module .commodity-icon.club-crest img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}

        .part1-module .commodity-info {
            flex: 1;
        }

        .part1-module .commodity-name {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .part1-module .commodity-trend {
            font-size: 12px;
            color: var(--text-muted);
        }

        .part1-module .commodity-symbol-badge {
            font-size: var(--size-small);
            color: var(--text-secondary);
            background-color: var(--background-hover);
            padding: 2px 6px;
            border-radius: var(--radius-sm);
        }

        .part1-module .commodity-price-data {
            text-align: right;
        }

        .part1-module .commodity-value {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
        }

        .part1-module .commodity-unit {
            font-size: 11px;
            color: var(--text-secondary);
        }

        .part1-module .commodity-change {
            font-size: var(--size-small);
            font-weight: medium;
            margin-top: 2px;
        }

        .part1-module .commodity-change.negative { color: var(--accent-red); }
        .part1-module .commodity-change.positive { color: var(--accent-green); }

        /* Inflation & Interest Rates Card */
        .part1-module .inflation-card {
            background-color: var(--background-card);
            border-radius: var(--radius-lg);
            border: 1px solid var(--border-color);
            padding: var(--spacing-lg);
        }

        .part1-module .inflation-chart-container {
            margin-top: var(--spacing-md);
            height: 140px;
            position: relative;
        }

        .part1-module .bar-chart-svg {
            width: 100%;
            height: 100%;
        }

.part1-module .inflation-bar {
            fill: #e0e0e0;
            rx: 3;
            ry: 3;
            transition: opacity 0.2s;
        }

        .part1-module .inflation-bar:hover {
            opacity: 0.8;
        }

        .part1-module .inflation-bar:nth-of-type(5n + 1),
        .part1-module .inflation-bar:nth-of-type(5n + 4) {
            fill: #8f9aa6;
        }

        .part1-module .inflation-bar:nth-of-type(5n + 2),
        .part1-module .inflation-bar:nth-of-type(5n + 5) {
            fill: #3f8f76;
        }

        .part1-module .inflation-bar:nth-of-type(5n + 3) {
            fill: #a45b5b;
        }

        .part1-module .chart-axis-labels {
            display: flex;
            justify-content: space-between;
            margin-top: var(--spacing-xs);
            font-size: 11px;
            color: var(--text-muted);
        }

        .part1-module .y-axis-labels {
            position: absolute;
            left: -8px;
            top: 0;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            font-size: 10px;
            color: var(--text-muted);
            padding-right: 4px;
        }

        /* Interest Rates Table */
        .part1-module .interest-rates-section {
            margin-top: var(--spacing-xl);
            padding-top: var(--spacing-lg);
            border-top: 1px solid var(--border-color);
        }

        .part1-module .interest-table {
            width: 100%;
            margin-top: var(--spacing-md);
        }

        .part1-module .interest-table-header {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) 0;
            border-bottom: 1px solid var(--border-color);
            font-size: var(--size-small);
            color: var(--text-secondary);
            font-weight: medium;
        }

        .part1-module .interest-table-row {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) 0;
            font-size: var(--size-body);
        }

        .part1-module .interest-value {
            color: var(--text-primary);
            font-weight: medium;
        }

        .part1-module .interest-next-release {
            color: var(--accent-red);
            font-weight: medium;
        }

        .part1-module .see-all-econ-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: var(--accent-blue);
            font-size: var(--size-small);
            text-decoration: none;
            margin-top: var(--spacing-md);
            font-weight: medium;
        }

        .part1-module .see-all-econ-link:hover {
            text-decoration: underline;
        }

        /* Featured IPOs Section */
        .part1-module .featured-ipos-section {
            margin-bottom: var(--spacing-xl);
        }

        .part1-module .section-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-lg);
        }

        .part1-module .section-header h2 {
            font-size: var(--size-h1);
            font-weight: bold;
            color: white;
        }

        .part1-module .section-arrow {
            color: var(--text-primary);
            cursor: pointer;
            transition: transform 0.2s;
        }

        .part1-module .section-arrow:hover {
            transform: translateX(3px);
        }

        .part1-module .ipos-carousel-container {
            position: relative;
        }

        .part1-module .ipos-scroll-wrapper {
            display: flex;
            gap: var(--spacing-lg);
            overflow-x: auto;
            scroll-behavior: smooth;
            padding-bottom: var(--spacing-sm);
            scrollbar-width: thin;
            scrollbar-color: var(--border-color) transparent;
        }

        .part1-module .ipos-scroll-wrapper::-webkit-scrollbar {
            height: 6px;
        }

        .part1-module .ipos-scroll-wrapper::-webkit-scrollbar-track {
            background: transparent;
        }

        .part1-module .ipos-scroll-wrapper::-webkit-scrollbar-thumb {
            background-color: var(--border-color);
            border-radius: 3px;
        }

        .part1-module .ipo-card {
            background-color: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            padding: var(--spacing-lg);
            min-width: 220px;
            max-width: 240px;
            flex-shrink: 0;
            transition: border-color 0.2s, box-shadow 0.2s;
            cursor: pointer;
        }

        .part1-module .ipo-card:hover {
            border-color: var(--border-subtle);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        }

        .part1-module .ipo-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-md);
        }

        .part1-module .ipo-logo {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 18px;
            flex-shrink: 0;
        }

        .part1-module .ipo-logo.stripe { background: linear-gradient(135deg, #635bff, #a855f7); }
        .part1-module .ipo-logo.kraken { background: linear-gradient(135deg, #7b3ff2, #c084fc); }
        .part1-module .ipo-logo.discord { background: linear-gradient(135deg, #5865F2, #818cf8); }
        .part1-module .ipo-logo.anthropic { background: linear-gradient(135deg, #d97706, #fbbf24); }
        .part1-module .ipo-logo.revolut { background: linear-gradient(135deg, #05f, #0af); }

        .part1-module .ipo-company-info {
            flex: 1;
            min-width: 0;
        }

        .part1-module .ipo-company-name {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
            margin-bottom: 2px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .part1-module .ipo-company-subtitle {
            font-size: var(--size-small);
            color: var(--text-secondary);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .part1-module .ipo-details {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-sm) var(--spacing-md);
        }

        .part1-module .ipo-detail-item {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .part1-module .ipo-detail-label {
            font-size: 11px;
            color: var(--text-secondary);
        }

        .part1-module .ipo-detail-value {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: medium;
        }

        .part1-module .carousel-nav-btn {
            position: absolute;
            top: 50%;
            right: -20px;
            transform: translateY(-50%);
            width: 40px;
            height: 40px;
            background-color: var(--background-secondary);
            border: 1px solid var(--border-color);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-primary);
            cursor: pointer;
            z-index: 10;
            transition: all 0.2s;
        }

        .part1-module .carousel-nav-btn:hover {
            background-color: var(--background-hover);
            border-color: var(--border-subtle);
        }

        /* Community Ideas Section */
        .part1-module .community-ideas-section {
            margin-bottom: var(--spacing-xl);
        }

        .part1-module .tabs-navigation {
            display: flex;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-lg);
            flex-wrap: wrap;
        }

        .part1-module .tab-button {
            background-color: var(--background-hover);
            border: 1px solid transparent;
            color: var(--text-primary);
            padding: 8px 16px;
            border-radius: var(--radius-md);
            font-size: var(--size-body);
            cursor: pointer;
            transition: all 0.2s;
            font-weight: medium;
        }

        .part1-module .tab-button:hover {
            background-color: var(--border-color);
        }

        .part1-module .tab-button.active {
            background-color: var(--border-subtle);
            border-color: var(--border-color);
        }

        .part1-module .ideas-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-lg);
        }

        .part1-module .idea-card {
            background-color: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            overflow: hidden;
            transition: border-color 0.2s, box-shadow 0.2s;
            cursor: pointer;
            display: flex;
            flex-direction: column;
        }

        .part1-module .idea-card:hover {
            border-color: var(--border-subtle);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        }

        .part1-module .idea-thumbnail {
            width: 100%;
            height: 160px;
            position: relative;
            overflow: hidden;
        }

        .part1-module .idea-thumbnail-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .part1-module .idea-badge {
            position: absolute;
            top: var(--spacing-sm);
            left: var(--spacing-sm);
            background-color: var(--accent-blue);
            color: white;
            padding: 4px 10px;
            border-radius: var(--radius-sm);
            font-size: 11px;
            font-weight: bold;
            z-index: 1;
        }

        .part1-module .idea-content {
            padding: var(--spacing-md);
            flex: 1;
            display: flex;
            flex-direction: column;
        }

        .part1-module .idea-title {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
            line-height: 1.4;
            margin-bottom: var(--spacing-sm);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .part1-module .idea-description {
            font-size: var(--size-small);
            color: var(--text-secondary);
            line-height: 1.5;
            margin-bottom: var(--spacing-md);
            flex: 1;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .part1-module .idea-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: var(--spacing-sm);
            border-top: 1px solid var(--border-color);
            font-size: var(--size-small);
        }

        .part1-module .idea-author-info {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .part1-module .idea-author {
            color: var(--accent-blue);
            text-decoration: none;
            font-weight: medium;
        }

        .part1-module .idea-author:hover {
            text-decoration: underline;
        }

        .part1-module .idea-date {
            color: var(--text-muted);
            font-size: 11px;
        }

        .part1-module .idea-stats {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
        }

        .part1-module .stat-item {
            display: flex;
            align-items: center;
            gap: 4px;
            color: var(--text-secondary);
        }

        .part1-module .stat-icon {
            width: 16px;
            height: 16px;
        }

        /* Indicators and Strategies Section */
        .part1-module .indicators-strategies-section {
            margin-bottom: var(--spacing-xl);
        }

        .part1-module .strategies-tabs-navigation {
            display: flex;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-lg);
            flex-wrap: wrap;
        }

        .part1-module .strategies-tab-button {
            background-color: var(--background-hover);
            border: 1px solid transparent;
            color: var(--text-primary);
            padding: 8px 16px;
            border-radius: var(--radius-md);
            font-size: var(--size-body);
            cursor: pointer;
            transition: all 0.2s;
            font-weight: medium;
        }

        .part1-module .strategies-tab-button:hover {
            background-color: var(--border-color);
        }

        .part1-module .strategies-tab-button.active {
            background-color: var(--border-subtle);
            border-color: var(--border-color);
        }

        .part1-module .strategies-content-placeholder {
            background-color: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            padding: var(--spacing-xxl);
            text-align: center;
            color: var(--text-secondary);
            min-height: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Final Polish - Enhanced Interactions */

        /* Custom Scrollbar */
        .part1-module ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }

        .part1-module ::-webkit-scrollbar-track {
            background: var(--background-primary);
        }

        .part1-module ::-webkit-scrollbar-thumb {
            background: var(--border-subtle);
            border-radius: 4px;
        }

        .part1-module ::-webkit-scrollbar-thumb:hover {
            background: var(--text-muted);
        }

        /* Smooth Scrolling */
        .part1-module {
            scroll-behavior: smooth;
        }

        /* Selection Color */
        .part1-module ::selection {
            background-color: rgba(41, 98, 255, 0.3);
            color: white;
        }

        /* Focus States */
        .part1-module *:focus-visible {
            outline: 2px solid var(--accent-blue);
            outline-offset: 2px;
        }

        /* Link Hover Effects */
        .part1-module a {
            transition: all 0.2s ease;
        }

        /* Button Active States */
        .part1-module .upgrade-btn:active,
        .part1-module .hero-cta-btn:active,
        .part1-module .space-mission-btn:active,
        .part1-module .tab-button:active,
        .part1-module .strategies-tab-button:active {
            transform: scale(0.98);
        }

        /* Card Hover Enhancements */
        .part1-module .chart-card:hover,
        .part1-module .indices-card:hover,
        .part1-module .data-card:hover,
        .part1-module .bitcoin-dominance-card:hover,
        .part1-module .commodities-card:hover,
        .part1-module .inflation-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
            transition: all 0.3s ease;
        }

        /* Index Item Hover */
        .part1-module .index-item {
            transition: all 0.2s ease;
            padding: var(--spacing-sm) var(--spacing-md);
            margin: 0 calc(-1 * var(--spacing-md));
            border-radius: var(--radius-md);
        }

        .part1-module .index-item:hover {
            background-color: var(--background-hover);
        }

        /* Commodity Item Hover */
        .part1-module .commodity-item,
        .part1-module .crypto-item {
            transition: all 0.2s ease;
            padding: var(--spacing-sm) var(--spacing-md);
            margin: 0 calc(-1 * var(--spacing-md));
            border-radius: var(--radius-md);
        }

        .part1-module .commodity-item:hover,
        .part1-module .crypto-item:hover {
            background-color: var(--background-hover);
        }

        /* Nav Link Active State */
        .part1-module .nav-link.active {
            color: white;
        }

        .part1-module .nav-link.active::after {
            opacity: 1;
        }

        /* Search Input Enhancement */
        .part1-module .search-input::placeholder {
            color: var(--text-muted);
        }

        /* Hero Section Transition */
        .part1-module .hero-section {
            transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
        }

        .part1-module .hero-section.hidden {
            opacity: 0;
            visibility: hidden;
            transform: translateY(-20px);
        }

        /* Tooltip Effect for Data Points */
        .part1-module [data-tooltip] {
            position: relative;
        }

        .part1-module [data-tooltip]:hover::after {
            content: attr(data-tooltip);
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            padding: 6px 10px;
            background-color: var(--background-secondary);
            color: var(--text-primary);
            font-size: 11px;
            border-radius: var(--radius-sm);
            white-space: nowrap;
            z-index: 1000;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
            pointer-events: none;
            margin-bottom: 6px;
        }

        /* Loading Animation Placeholder */
        @keyframes shimmer-loading {
            0% { background-position: -200% 0; }
            100% { background-position: 200% 0; }
        }

        .part1-module .loading-shimmer {
            background: linear-gradient(
                90deg,
                var(--background-secondary) 25%,
                var(--background-hover) 50%,
                var(--background-secondary) 75%
            );
            background-size: 200% 100%;
            animation: shimmer-loading 1.5s infinite;
        }

        /* Responsive Grid Adjustments */
        @media (max-width: 1400px) {
            .part1-module .ideas-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 1200px) {
            .part1-module .market-overview {
                grid-template-columns: 1fr;
            }

            .part1-module .market-data-row-top,
            .part1-module .market-data-row-bottom {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .part1-module .market-data-row-top,
            .part1-module .market-data-row-bottom {
                grid-template-columns: 1fr;
            }

            .part1-module .ideas-grid {
                grid-template-columns: 1fr;
            }

            .part1-module .header-left {
                gap: var(--spacing-md);
            }

            .part1-module .search-bar {
                display: none;
            }

            .part1-module .nav-menu {
                gap: var(--spacing-md);
            }

            .part1-module .nav-link {
                font-size: var(--size-small);
            }
        }


/* Module 2: stocks and strategies */


        .part2-module {
            --background-primary: #000000;
            --background-secondary: #000000;
            --background-card: #000000;
            --background-hover: #272727;
            --text-primary: #e2e2e2;
            --text-secondary: #707070;
            --text-muted: #4a4a4a;
            --accent-blue: #e0e0e0;
            --accent-green: #3ecf6e;
            --accent-red: #e84545;
            --accent-purple: #c4c4c4;
            --border-color: #272727;
            --border-subtle: #333333;
            --font-family: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif;
            --size-h1: 28px;
            --size-h2: 20px;
            --size-h3: 16px;
            --size-body: 14px;
            --size-small: 12px;
            --spacing-xs: 4px;
            --spacing-sm: 8px;
            --spacing-md: 16px;
            --spacing-lg: 24px;
            --spacing-xl: 32px;
            --radius-sm: 4px;
            --radius-md: 6px;
            --radius-lg: 8px;
            --radius-pill: 20px;
        }

        .part2-module * { margin: 0; padding: 0; box-sizing: border-box; }

        .part2-module {
            font-family: var(--font-family);
            background-color: var(--background-primary);
            color: var(--text-primary);
            font-size: var(--size-body);
            line-height: 1.5;
        }

        /* Header */
        .part2-module header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 64px;
            background-color: var(--background-primary);
            border-bottom: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 var(--spacing-lg);
            z-index: 1000;
        }

        .part2-module .header-left { display: flex; align-items: center; gap: var(--spacing-xl); }

        .part2-module .logo {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            color: var(--text-primary);
            text-decoration: none;
            font-weight: bold;
            font-size: var(--size-h2);
        }

        .part2-module .logo-icon {
            width: 28px;
            height: 28px;
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
            border-radius: var(--radius-sm);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 18px;
        }

        .part2-module .search-bar { position: relative; width: 280px; }

        .part2-module .search-input {
            width: 100%;
            height: 40px;
            background-color: var(--background-secondary);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-pill);
            padding: 0 var(--spacing-md) 0 44px;
            color: var(--text-primary);
            outline: none;
        }

        .part2-module .search-icon {
            position: absolute;
            left: 16px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--text-secondary);
        }

        .part2-module .nav-menu { display: flex; gap: var(--spacing-xl); list-style: none; }

        .part2-module .nav-link {
            color: var(--text-primary);
            text-decoration: none;
            font-weight: 500;
            position: relative;
        }

        .part2-module .nav-link:hover::after {
            content: '';
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 2px;
            background: var(--text-primary);
        }

        .part2-module .header-right { display: flex; align-items: center; gap: var(--spacing-md); }

        .part2-module .user-avatar {
            width: 36px;
            height: 36px;
            background: linear-gradient(135deg, #e91e63, #9c27b0);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            position: relative;
        }

        .part2-module .user-avatar::after {
            content: '';
            position: absolute;
            top: -2px;
            right: -2px;
            width: 10px;
            height: 10px;
            background: var(--accent-red);
            border-radius: 50%;
            border: 2px solid var(--background-primary);
        }

        .part2-module .upgrade-btn {
            background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 24px;
            font-size: 12px;
            font-weight: bold;
            cursor: pointer;
        }

        .part2-module .module-main { margin-top: 64px; padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-lg) 72px; }

        .part2-module .right-sidebar {
            position: fixed;
            top: 64px;
            right: 0;
            width: 56px;
            height: calc(100vh - 64px);
            background: var(--background-primary);
            border-left: 1px solid var(--border-color);
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: var(--spacing-md) 0;
            gap: var(--spacing-sm);
            z-index: 100;
        }

        .part2-module .sidebar-icon {
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: transparent;
            border: none;
            border-radius: 50%;
            color: var(--text-secondary);
            cursor: pointer;
        }

        .part2-module .sidebar-icon:hover { background: var(--background-hover); color: var(--text-primary); }

        .part2-module .sidebar-spacer { flex: 1; }

        /* Section Headers */
        .part2-module .section-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-lg);
        }

        .part2-module .section-header h2 {
            font-size: var(--size-h1);
            font-weight: bold;
            color: white;
        }

        .part2-module .section-arrow {
            color: var(--text-primary);
            cursor: pointer;
        }

        /* Tabs */
        .part2-module .tabs-nav {
            display: flex;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-lg);
            flex-wrap: wrap;
        }

        .part2-module .tab-btn {
            background: var(--background-hover);
            border: 1px solid transparent;
            color: var(--text-primary);
            padding: 8px 16px;
            border-radius: var(--radius-md);
            cursor: pointer;
            font-size: var(--size-body);
            transition: all 0.2s;
        }

        .part2-module .tab-btn.active {
            background: var(--border-subtle);
            border-color: var(--border-color);
        }

        .part2-module .tab-btn:hover { background: var(--border-color); }

        /* Indicator Cards Grid */
        .part2-module .indicators-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-xl);
        }

        .part2-module .indicator-card {
            background: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            overflow: hidden;
            transition: all 0.2s;
            cursor: pointer;
        }

        .part2-module .indicator-card:hover {
            border-color: var(--border-subtle);
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        }

        .part2-module .indicator-thumbnail {
            width: 100%;
            height: 180px;
            background: #000000;
            position: relative;
            overflow: hidden;
        }

        .part2-module .indicator-badge {
            position: absolute;
            top: var(--spacing-sm);
            left: var(--spacing-sm);
            background: var(--accent-blue);
            color: white;
            padding: 4px 10px;
            border-radius: var(--radius-sm);
            font-size: 11px;
            font-weight: bold;
            z-index: 1;
        }

        .part2-module .indicator-label {
            position: absolute;
            top: var(--spacing-sm);
            right: var(--spacing-sm);
            background: rgba(38, 166, 154, 0.9);
            color: white;
            padding: 4px 10px;
            border-radius: var(--radius-sm);
            font-size: 11px;
            font-weight: bold;
            z-index: 1;
        }

        .part2-module .indicator-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .part2-module .tool-range-img {
            object-position: 66% 32%;
        }

        .part2-module .tool-signal-img,
        .part2-module .tool-relative-img {
            object-position: center 36%;
        }

        .part2-module .indicator-content { padding: var(--spacing-md); }

        .part2-module .indicator-title {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
            margin-bottom: var(--spacing-xs);
            line-height: 1.4;
        }

        .part2-module .indicator-desc {
            font-size: var(--size-small);
            color: var(--text-secondary);
            line-height: 1.5;
            margin-bottom: var(--spacing-md);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .part2-module .indicator-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: var(--size-small);
            color: var(--text-secondary);
        }

        .part2-module .author-link { color: var(--accent-blue); text-decoration: none; }

        .part2-module .stat-item { display: flex; align-items: center; gap: 4px; }

        /* Top Stories */
        .part2-module .stories-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-xl);
        }

        .part2-module .story-item {
            display: flex;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) 0;
            border-bottom: 1px solid var(--border-color);
        }

        .part2-module .story-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: bold;
            color: white;
        }

        .part2-module .story-info { flex: 1; min-width: 0; }

        .part2-module .story-meta {
            font-size: 11px;
            color: var(--text-muted);
            margin-bottom: 4px;
        }

        .part2-module .story-title {
            font-size: var(--size-body);
            color: var(--text-primary);
            line-height: 1.4;
            font-weight: 500;
        }

        .part2-module .story-title:hover { color: var(--accent-blue); }

        /* Stock Section Tabs */
        .part2-module .stock-tabs {
            display: inline-flex;
            gap: var(--spacing-xs);
            background: var(--background-hover);
            padding: 4px;
            border-radius: var(--radius-pill);
            margin-bottom: var(--spacing-lg);
        }

        .part2-module .stock-tab {
            padding: 6px 16px;
            border-radius: var(--radius-pill);
            border: none;
            background: transparent;
            color: var(--text-primary);
            cursor: pointer;
            font-size: var(--size-body);
            transition: all 0.2s;
        }

        .part2-module .stock-tab.active {
            background: var(--background-primary);
            color: white;
        }

        /* Community Trends */
        .part2-module .trends-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-xl);
        }

        .part2-module .trend-card {
            background: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            padding: var(--spacing-md);
            transition: all 0.2s;
        }

        .part2-module .trend-card:hover {
            border-color: var(--border-subtle);
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        }

        .part2-module .trend-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-sm);
        }

        .part2-module .trend-logo {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: bold;
            color: white;
            flex-shrink: 0;
        }

        .part2-module .trend-symbol {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
        }

        .part2-module .trend-name {
            font-size: 11px;
            color: var(--text-secondary);
        }

        .part2-module .trend-price {
            font-size: var(--size-body);
            color: var(--text-primary);
            margin-top: var(--spacing-xs);
        }

        .part2-module .trend-change {
            font-size: var(--size-small);
            font-weight: 500;
        }

        .part2-module .trend-change.positive { color: var(--accent-green); }
        .part2-module .trend-change.negative { color: var(--accent-red); }

        /* Trade Ideas */
        .part2-module .ideas-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-xl);
        }

        .part2-module .idea-card {
            background: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            overflow: hidden;
            transition: all 0.2s;
            cursor: pointer;
        }

        .part2-module .idea-card:hover {
            border-color: var(--border-subtle);
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
        }

        .part2-module .idea-thumb {
            width: 100%;
            height: 160px;
            background: #000000;
            position: relative;
            overflow: hidden;
        }

        .part2-module .idea-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .part2-module .entity-news-thumb {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .part2-module .entity-news-thumb::after,
        .part2-module .product-news-thumb::after {
            position: absolute;
            inset: 0;
            z-index: 1;
            content: "";
            pointer-events: none;
            background: linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.52) 100%);
        }

        .part2-module .entity-news-thumb > img {
            min-width: 0;
        }

        .part2-module .portrait-split > img:first-child {
            object-position: center 22%;
        }

        .part2-module .portrait-split > img:nth-child(2) {
            object-position: 50% 34%;
        }

        .part2-module .event-split > img:first-child {
            object-position: 54% center;
        }

        .part2-module .event-split > img:nth-child(2) {
            object-position: 47% center;
        }

        .part2-module .single-news-thumb {
            display: block;
        }

        .part2-module .single-news-thumb > img {
            object-position: center 34%;
        }

        .part2-module .product-news-thumb {
            display: grid;
            grid-template-columns: 1.1fr 0.9fr;
        }

        .part2-module .product-photo {
            position: relative;
            min-width: 0;
            overflow: hidden;
            background: #000000;
        }

        .part2-module .product-photo > img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 42%;
        }

        .part2-module .product-photo > span {
            position: absolute;
            right: 9px;
            bottom: 8px;
            color: rgba(255, 255, 255, 0.68);
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.1em;
        }

        .part2-module .release-visual {
            display: flex;
            min-width: 0;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 5px;
            color: #f2f2f2;
            background:
                radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.11), transparent 42%),
                #111111;
            border-left: 1px solid #2c2c2c;
        }

        .part2-module .release-visual img {
            width: 44px;
            height: 44px;
            object-fit: contain;
            filter: brightness(0) invert(1);
        }

        .part2-module .release-visual strong {
            color: #ffffff;
            font-size: 17px;
            letter-spacing: -0.03em;
        }

        .part2-module .release-visual span {
            color: #8c8c8c;
            font-size: 8px;
            font-weight: 750;
            letter-spacing: 0.12em;
        }

        .part2-module .idea-ticker-pill {
            position: absolute;
            top: 10px;
            left: 10px;
            z-index: 3;
            padding: 4px 7px;
            color: #f0f0f0;
            background: rgba(18, 18, 18, 0.84);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 4px;
            backdrop-filter: blur(8px);
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.06em;
        }

        .part2-module .idea-club-crest {
            position: absolute;
            top: 9px;
            right: 9px;
            z-index: 3;
            display: grid;
            width: 34px;
            height: 34px;
            place-items: center;
            padding: 5px;
            background: rgba(8, 8, 8, 0.82);
            border: 1px solid rgba(255, 255, 255, 0.22);
            border-radius: 50%;
            backdrop-filter: blur(8px);
        }

        .part2-module .idea-club-crest img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .part2-module .idea-title em {
            font-style: italic;
        }

        .part2-module .idea-content { padding: var(--spacing-md); }

        .part2-module .idea-title {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
            margin-bottom: var(--spacing-xs);
            line-height: 1.4;
        }

        .part2-module .idea-desc {
            font-size: var(--size-small);
            color: var(--text-secondary);
            line-height: 1.5;
            margin-bottom: var(--spacing-md);
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .part2-module .idea-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            font-size: var(--size-small);
            color: var(--text-secondary);
            padding-top: var(--spacing-sm);
            border-top: 1px solid var(--border-color);
        }

        /* Two Column Layout */
        .part2-module .two-col-section {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--spacing-xl);
            margin-bottom: var(--spacing-xl);
        }

        /* Stock Lists Table */
        .part2-module .stock-list {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-sm);
        }

        .part2-module .stock-row {
            display: flex;
            align-items: center;
            gap: var(--spacing-md);
            padding: var(--spacing-sm) var(--spacing-md);
            background: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            transition: all 0.2s;
        }

        .part2-module .stock-row:hover {
            background: var(--background-hover);
            border-color: var(--border-subtle);
        }

        .part2-module .stock-logo {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 12px;
            font-weight: bold;
            color: white;
            flex-shrink: 0;
        }

        .part2-module .stock-info { flex: 1; min-width: 0; }

        .part2-module .stock-name-row {
            display: flex;
            align-items: center;
            gap: var(--spacing-xs);
        }

        .part2-module .stock-symbol {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
        }

        .part2-module .stock-company {
            font-size: var(--size-small);
            color: var(--text-secondary);
        }

        .part2-module .stock-price-data { text-align: right; }

        .part2-module .stock-price {
            font-size: var(--size-body);
            color: var(--text-primary);
            font-weight: 500;
        }

        .part2-module .stock-change {
            font-size: var(--size-small);
            font-weight: 500;
            padding: 2px 8px;
            border-radius: var(--radius-sm);
        }

        .part2-module .stock-change.positive {
            background: rgba(38, 166, 154, 0.15);
            color: var(--accent-green);
        }

        .part2-module .stock-change.negative {
            background: rgba(239, 83, 80, 0.15);
            color: var(--accent-red);
        }

        /* Calendar Section */
        .part2-module .calendar-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: var(--spacing-md);
            margin-bottom: var(--spacing-lg);
        }

        .part2-module .calendar-card {
            background: var(--background-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            padding: var(--spacing-md);
        }

        .part2-module .calendar-contract-meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: var(--spacing-sm);
            margin-bottom: 12px;
            color: var(--text-muted);
            font-size: 10px;
            font-weight: 650;
            letter-spacing: 0.05em;
        }

        .part2-module .contract-badge {
            padding: 3px 6px;
            color: #bdbdbd;
            background: #202020;
            border: 1px solid #343434;
            border-radius: 4px;
            font-size: 9px;
            font-weight: 800;
            letter-spacing: 0.08em;
        }

        .part2-module .contract-badge.call {
            color: #76d9ad;
            background: rgba(62, 207, 110, 0.08);
            border-color: rgba(62, 207, 110, 0.26);
        }

        .part2-module .contract-badge.put {
            color: #ec8b8b;
            background: rgba(232, 69, 69, 0.08);
            border-color: rgba(232, 69, 69, 0.26);
        }

        .part2-module .calendar-header {
            display: flex;
            align-items: center;
            gap: var(--spacing-sm);
            margin-bottom: var(--spacing-sm);
        }

        .part2-module .calendar-identities {
            display: flex;
            align-items: center;
            flex: 0 0 auto;
            gap: 6px;
        }

        .part2-module .calendar-identity {
            display: block;
            width: 32px;
            height: 32px;
            flex: 0 0 32px;
            border-radius: 50%;
        }

        .part2-module .calendar-symbol {
            font-size: var(--size-body);
            font-weight: bold;
            color: white;
        }

        .part2-module .calendar-company {
            font-size: var(--size-small);
            color: var(--text-secondary);
        }

        .part2-module .calendar-data {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
            padding-top: 10px;
            border-top: 1px solid #262626;
            font-size: var(--size-small);
        }

        .part2-module .calendar-data > div:last-child {
            text-align: right;
        }

        .part2-module .calendar-label {
            color: var(--text-muted);
            font-size: 10px;
        }

        .part2-module .calendar-value {
            margin-top: 2px;
            color: var(--text-primary);
            font-weight: 700;
        }

        /* News Grid */
        .part2-module .news-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: var(--spacing-lg);
            margin-bottom: var(--spacing-xl);
        }

        .part2-module .news-item {
            display: flex;
            gap: var(--spacing-sm);
            padding: var(--spacing-sm) 0;
        }

        .part2-module .news-source-icon {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 10px;
            font-weight: bold;
            color: white;
        }

        .part2-module .news-content { flex: 1; min-width: 0; }

        .part2-module .news-meta {
            font-size: 11px;
            color: var(--text-muted);
            margin-bottom: 4px;
        }

        .part2-module .news-title {
            font-size: var(--size-body);
            color: var(--text-primary);
            line-height: 1.4;
            font-weight: 500;
        }

        .part2-module .news-title:hover { color: var(--accent-blue); }

        /* Empty State */
        .part2-module .empty-state {
            text-align: center;
            padding: var(--spacing-xxl);
            color: var(--text-secondary);
        }

        .part2-module .empty-icon {
            font-size: 64px;
            margin-bottom: var(--spacing-md);
            opacity: 0.3;
        }

        /* Link Styles */
        .part2-module .see-all-link {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: var(--accent-blue);
            font-size: var(--size-small);
            text-decoration: none;
            margin-top: var(--spacing-md);
            font-weight: 500;
        }

        .part2-module .see-all-link:hover { text-decoration: underline; }

        /* Scrollbar */
        .part2-module ::-webkit-scrollbar { width: 8px; height: 8px; }
        .part2-module ::-webkit-scrollbar-track { background: var(--background-primary); }
        .part2-module ::-webkit-scrollbar-thumb { background: var(--border-subtle); border-radius: 4px; }

        @media (max-width: 1400px) {
            .part2-module .indicators-grid, .part2-module .ideas-grid, .part2-module .news-grid { grid-template-columns: repeat(2, 1fr); }
            .part2-module .trends-grid { grid-template-columns: repeat(3, 1fr); }
            .part2-module .stories-grid { grid-template-columns: repeat(2, 1fr); }
        }

        @media (max-width: 1200px) {
            .part2-module .two-col-section { grid-template-columns: 1fr; }
            .part2-module .calendar-grid { grid-template-columns: repeat(3, 1fr); }
        }

        @media (max-width: 768px) {
            .part2-module .trends-grid { grid-template-columns: repeat(2, 1fr); }
            .part2-module .indicators-grid, .part2-module .ideas-grid, .part2-module .news-grid, .part2-module .stories-grid { grid-template-columns: 1fr; }
            .part2-module .calendar-grid { grid-template-columns: 1fr; }
        }


/* Module 3: crypto, forex, and economy */


        .part3-module * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .part3-module {
            font-family: -apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif;
            background-color: #000000;
            color: #ffffff;
            line-height: 1.5;
            overflow-x: hidden;
        }

        /* Header Styles */
        .part3-module .header {
            background-color: #000000;
            border-bottom: 1px solid #000000;
            padding: 12px 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .part3-module .logo {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 20px;
            font-weight: bold;
            color: #ffffff;
            text-decoration: none;
        }

        .part3-module .logo i {
            color: #e0e0e0;
        }

        .part3-module .search-bar {
            flex: 0 0 320px;
            margin: 0 40px;
            position: relative;
        }

        .part3-module .search-bar input {
            width: 100%;
            padding: 8px 16px 8px 40px;
            background-color: #000000;
            border: 1px solid #272727;
            border-radius: 20px;
            color: #ffffff;
            font-size: 14px;
            outline: none;
        }

        .part3-module .search-bar input::placeholder {
            color: #707070;
        }

        .part3-module .search-bar i {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            color: #707070;
        }

        .part3-module .nav-menu {
            display: flex;
            gap: 32px;
            align-items: center;
        }

        .part3-module .nav-menu a {
            color: #ffffff;
            text-decoration: none;
            font-size: 15px;
            font-weight: 500;
            transition: color 0.2s;
        }

        .part3-module .nav-menu a:hover {
            color: #e0e0e0;
        }

        .part3-module .user-area {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .part3-module .avatar {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            cursor: pointer;
        }

        .part3-module .upgrade-btn {
            background: linear-gradient(135deg, #e0e0e0 0%, #7c4dff 100%);
            color: #ffffff;
            padding: 8px 18px;
            border-radius: 6px;
            text-decoration: none;
            font-size: 13px;
            font-weight: 600;
            transition: transform 0.2s;
        }

        .part3-module .upgrade-btn:hover {
            transform: scale(1.05);
        }

        /* Category Tabs */
        .part3-module .category-tabs {
            background-color: #000000;
            padding: 16px 24px 0;
            display: flex;
            justify-content: center;
            gap: 8px;
            border-bottom: 1px solid #000000;
        }

        .part3-module .tab-btn {
            padding: 10px 20px;
            background: transparent;
            border: 1px solid #272727;
            border-radius: 20px;
            color: #e2e2e2;
            cursor: pointer;
            font-size: 14px;
            transition: all 0.3s;
        }

        .part3-module .tab-btn:hover {
            background-color: #000000;
            color: #ffffff;
        }

        .part3-module .tab-btn.active {
            background-color: #ffffff;
            color: #000000;
            border-color: #ffffff;
        }

        /* Main Content */
        .part3-module .main-content {
            max-width: 1400px;
            margin: 0 auto;
            padding: 32px 24px;
        }

        /* Section Title */
        .part3-module .section-title {
            font-size: 26px;
            font-weight: 600;
            margin-bottom: 24px;
            color: #ffffff;
        }

        /* Crypto Section */
        .part3-module .crypto-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            margin-bottom: 48px;
        }

        .part3-module .crypto-column h2 {
            font-size: 22px;
            font-weight: 600;
            margin-bottom: 20px;
            color: #ffffff;
        }

        .part3-module .crypto-list {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .part3-module .crypto-item {
            display: flex;
            align-items: center;
            padding: 12px;
            background-color: #0a0a0a;
            border-radius: 8px;
            transition: background-color 0.2s;
        }

        .part3-module .crypto-item:hover {
            background-color: #000000;
        }

        .part3-module .crypto-icon {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            margin-right: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 18px;
        }

        .part3-module .crypto-info {
            flex: 1;
        }

        .part3-module .crypto-name {
            font-size: 15px;
            font-weight: 600;
            color: #ffffff;
            margin-bottom: 2px;
        }

        .part3-module .crypto-symbol {
            display: inline-block;
            background-color: #272727;
            color: #707070;
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 11px;
            font-weight: 600;
        }

        .part3-module .crypto-price {
            font-size: 14px;
            color: #e2e2e2;
            margin-right: 16px;
            min-width: 120px;
            text-align: right;
        }

        .part3-module .crypto-change {
            padding: 6px 12px;
            border-radius: 6px;
            font-size: 14px;
            font-weight: 700;
            min-width: 90px;
            text-align: center;
        }

        .part3-module .positive {
            background-color: #3ecf6e;
            color: #ffffff;
        }

        .part3-module .negative {
            background-color: #e84545;
            color: #ffffff;
        }

        .part3-module .see-all-link {
            color: #e0e0e0;
            text-decoration: none;
            font-size: 14px;
            margin-top: 16px;
            display: inline-block;
            font-weight: 500;
        }

        .part3-module .see-all-link:hover {
            text-decoration: underline;
        }

        /* News Section */
        .part3-module .news-section {
            margin-top: 56px;
        }

        .part3-module .news-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
            margin-top: 24px;
        }

        .part3-module .news-item {
            background-color: #0a0a0a;
            padding: 16px;
            border-radius: 8px;
            transition: background-color 0.2s;
        }

        .part3-module .news-item:hover {
            background-color: #000000;
        }

        .part3-module .news-meta {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 10px;
            font-size: 13px;
            color: #707070;
        }

        .part3-module .news-source-icon {
            width: 20px;
            height: 20px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 10px;
            font-weight: bold;
        }

        .part3-module .news-title {
            font-size: 14px;
            color: #e2e2e2;
            line-height: 1.5;
        }

        /* Forex Performance */
        .part3-module .forex-section {
            margin-top: 56px;
        }

        .part3-module .time-filters {
            display: flex;
            gap: 8px;
            margin: 24px 0;
            flex-wrap: wrap;
        }

        .part3-module .filter-btn {
            padding: 8px 16px;
            background-color: #000000;
            border: 1px solid #272727;
            border-radius: 6px;
            color: #e2e2e2;
            cursor: pointer;
            font-size: 13px;
            transition: all 0.2s;
        }

        .part3-module .filter-btn:hover {
            background-color: #272727;
            color: #ffffff;
        }

        .part3-module .filter-btn.active {
            background-color: #272727;
            color: #ffffff;
        }

        .part3-module .forex-list {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        .part3-module .forex-item {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        .part3-module .flag-icon {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
        }

        .part3-module .pair-identities {
            position: relative;
            display: flex;
            width: 46px;
            flex: 0 0 46px;
            align-items: center;
            gap: 0;
            isolation: isolate;
        }

        .part3-module .pair-identity {
            width: 28px;
            height: 28px;
            display: block;
            flex: 0 0 28px;
            border: 2px solid #000;
            border-radius: 50%;
        }

        .part3-module .pair-identity:first-child { z-index: 1; }
        .part3-module .pair-identity + .pair-identity { z-index: 2; margin-left: -10px; }

        .part3-module .pair-name {
            font-size: 14px;
            font-weight: 600;
            color: #ffffff;
            min-width: 80px;
        }

        .part3-module .bar-container {
            flex: 1;
            height: 10px;
            background-color: #000000;
            border-radius: 5px;
            overflow: hidden;
            position: relative;
        }

        .part3-module .bar-fill {
            height: 100%;
            border-radius: 5px;
            transition: width 0.3s ease;
        }

        .part3-module .bar-positive {
            background-color: #3ecf6e;
        }

        .part3-module .bar-negative {
            background-color: #e84545;
        }

        .part3-module .percentage-value {
            font-size: 14px;
            font-weight: 600;
            min-width: 70px;
            text-align: right;
        }

        .part3-module .pos-value {
            color: #3ecf6e;
        }

        .part3-module .neg-value {
            color: #e84545;
        }

        /* Footer */
        .part3-module .footer {
            background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%);
            margin-top: 80px;
            padding: 60px 24px 40px;
            position: relative;
            overflow: hidden;
        }

        .part3-module .footer-content {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            position: relative;
            z-index: 2;
        }

        .part3-module .footer-links {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 32px;
        }

        .part3-module .footer-column h3 {
            font-size: 11px;
            font-weight: 700;
            color: #707070;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 16px;
        }

        .part3-module .footer-column ul {
            list-style: none;
        }

        .part3-module .footer-column ul li {
            margin-bottom: 10px;
        }

        .part3-module .footer-column ul li a {
            color: #e2e2e2;
            text-decoration: none;
            font-size: 13px;
            transition: color 0.2s;
        }

        .part3-module .footer-column ul li a:hover {
            color: #e0e0e0;
        }

        .part3-module .footer-branding {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .part3-module .rocket-image {
            width: 100%;
            max-width: 450px;
            align-self: flex-end;
        }

        .part3-module .rocket-image img {
            width: 100%;
            border-radius: 12px;
        }

        .part3-module .tagline {
            font-size: 52px;
            font-weight: 900;
            letter-spacing: 2px;
            color: #ffffff;
            margin-top: 40px;
        }

        .part3-module .footer-bottom {
            max-width: 1400px;
            margin: 40px auto 0;
            padding-top: 24px;
            border-top: 1px solid #272727;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
            z-index: 2;
        }

        .part3-module .social-links {
            display: flex;
            gap: 16px;
        }

        .part3-module .social-links a {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background-color: #000000;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #e2e2e2;
            text-decoration: none;
            transition: all 0.2s;
        }

        .part3-module .social-links a:hover {
            background-color: #e0e0e0;
            color: #ffffff;
        }

        .part3-module .copyright {
            font-size: 12px;
            color: #707070;
        }

        /* Responsive */
        @media (max-width: 1200px) {
            .part3-module .crypto-grid {
                grid-template-columns: 1fr;
            }

            .part3-module .news-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .part3-module .footer-links {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .part3-module .header {
                flex-wrap: wrap;
                gap: 12px;
            }

            .part3-module .search-bar {
                order: 3;
                flex: 1 1 100%;
                margin: 0;
            }

            .part3-module .nav-menu {
                gap: 16px;
            }

            .part3-module .category-tabs {
                overflow-x: auto;
                justify-content: flex-start;
            }

            .part3-module .news-grid {
                grid-template-columns: 1fr;
            }

            .part3-module .footer-content {
                grid-template-columns: 1fr;
            }

            .part3-module .tagline {
                font-size: 32px;
            }
        }


/* Shared project shell and integration overrides */


html {
  background: #000000;
}

body {
  margin: 0;
  background: #000000;
  color: #e6e6e6;
  font-weight: 500;
}

.unified-dashboard {
  min-width: 0;
  overflow-x: hidden;
}

.dashboard-module {
  position: relative;
  isolation: isolate;
  scroll-margin-top: 64px;
}

.module-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 40px 72px 24px;
  color: #707070;
  background: #000000;
  font: 600 12px/1.2 -apple-system, BlinkMacSystemFont, "Trebuchet MS", Roboto, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.module-divider::before,
.module-divider::after {
  height: 1px;
  flex: 1;
  content: "";
  background: #272727;
}

.part1-module .module-main {
  margin-top: 0;
}

.part2-module .module-main {
  margin-top: 0;
  padding-top: 8px;
}

.part3-module {
  background: #000000;
}

.part1-module,
.part2-module {
  --background-primary: #000000;
  --background-secondary: #050505;
  --background-card: #000000;
  --background-hover: #2d2d2d;
  --border-color: #333333;
  --border-subtle: #333333;
  --text-primary: #e6e6e6;
  --text-secondary: #b8b8b8;
  --text-muted: #777777;
}

.part1-module .hero-section {
  min-height: min(900px, calc(100svh - 96px));
  isolation: isolate;
  background: #000;
}

.part1-module .hero-background {
  inset: 0;
  z-index: 1;
  overflow: hidden;
  background-image: url('../../public/assets/hero/market-entities-hero.webp');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(.96) contrast(1.1) brightness(.98);
}

.part1-module .hero-background::before,
.part1-module .hero-background::after {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
}

.part1-module .hero-background::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .08) 25%, rgba(0, 0, 0, .7) 43%, rgba(0, 0, 0, .7) 57%, rgba(0, 0, 0, .08) 75%, transparent 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, transparent 38%, rgba(0, 0, 0, .04) 68%, #000 100%);
}

.part1-module .hero-background::after {
  background: radial-gradient(ellipse at center 45%, transparent 0%, rgba(0, 0, 0, .08) 42%, rgba(0, 0, 0, .42) 100%);
}

.part1-module .hero-content {
  width: min(780px, calc(100% - 40px));
  text-shadow: 0 2px 24px rgba(0, 0, 0, .75);
}

.part1-module .hero-heading {
  color: #fff;
  font-size: clamp(48px, 5vw, 72px);
  letter-spacing: -.045em;
}

.part1-module .hero-subheading {
  color: #d5d5d5;
}

.part1-module .hero-secondary-text {
  color: #a9a9a9;
}

@media (max-width: 680px) {
  .part1-module .hero-section { min-height: calc(100svh - 64px); }
  .part1-module .hero-background {
    background-position: 21% top;
    filter: saturate(.88) contrast(1.08) brightness(.94);
  }
  .part1-module .hero-background::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, .62) 42%, #000 100%);
  }
  .part1-module .hero-heading { font-size: clamp(42px, 13vw, 58px); }
}

.part1-module :is(
  .chart-card,
  .indices-card,
  .data-card,
  .bitcoin-dominance-card,
  .commodities-card,
  .inflation-card,
  .ipo-card,
  .idea-card
),
.part2-module :is(
  .indicator-card,
  .story-card,
  .idea-card,
  .stock-list-card,
  .calendar-card,
  .empty-state
) {
  background-color: #000000;
  border-color: #333333;
}

.dashboard-module :is(h1, h2, h3, strong) {
  color: #e6e6e6;
  font-weight: 750;
}

.part1-module .indices-header {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 800;
}

.part1-module .indices-list {
  gap: 0;
}

.part1-module .index-item {
  padding: 13px 6px;
  border-bottom: 1px solid #242424;
  border-radius: 6px;
  opacity: 1;
  transition: background-color 140ms ease;
}

.part1-module .index-item:last-child {
  border-bottom-color: transparent;
}

.part1-module .index-item:hover {
  background: #2d2d2d;
  opacity: 1;
}

.part1-module .index-name,
.part1-module .index-value,
.part1-module .index-change {
  font-weight: 750;
}

.part1-module .index-name {
  color: #dedede;
  text-decoration: underline;
  text-decoration-color: #777777;
  text-underline-offset: 2px;
}

.part1-module .index-symbol-label {
  color: #dedede;
  background: #333333;
  font-weight: 750;
}

.part1-module .index-unit {
  color: #8b8b8b;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 0.03em;
}

.part1-module .index-icon.brand-icon {
  background: transparent;
  border: 0;
}

.part1-module .index-icon.brand-icon img {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.part1-module .index-icon.fcb-icon img {
  width: 34px;
  height: 34px;
}

.part1-module .index-icon.claude-icon img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.part1-module .index-icon.nba-icon img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: contain;
  transform: translateY(-2px);
}

.part1-module .see-all-link,
.part1-module .see-all-link-inline {
  color: #4c9aff;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dashboard-module :is(
  .data-card-title,
  .data-card-value,
  .data-card-change,
  .crypto-name,
  .crypto-price,
  .crypto-change,
  .commodity-name,
  .commodity-value,
  .commodity-change,
  .stock-symbol,
  .stock-price,
  .stock-change,
  .pair-name,
  .percentage-value,
  .calendar-symbol,
  .calendar-value
) {
  font-weight: 700;
}

.part3-module .category-tabs {
  position: relative;
}

.part1-module .upgrade-btn {
  color: #080808;
  background: #e2e2e2;
}

/* Compact terminal tiles: editorial news should scan, not read like a magazine. */
.part1-module .community-ideas-section .idea-thumbnail {
  height: 104px;
}

.part1-module .community-ideas-section .idea-content {
  padding: 12px;
}

.part1-module .community-ideas-section .idea-title {
  line-height: 1.3;
  margin-bottom: 6px;
}

.part1-module .community-ideas-section .idea-description {
  -webkit-line-clamp: 1;
  line-height: 1.35;
  margin-bottom: 8px;
}

.part1-module .community-ideas-section .idea-meta {
  padding-top: 7px;
}

/* TradingView-style linked panel headings. */
.part1-module :is(.indices-header, .data-card-title, .section-title) {
  text-decoration: underline;
  text-decoration-color: #777777;
  text-underline-offset: 2px;
}

/* Index units are supporting information, not part of the quoted number. */
.dashboard-module .point-unit {
  color: #8b8b8b;
  font-size: 0.62em;
  font-weight: 650;
  letter-spacing: 0.03em;
}

/* Keep category dominance as a compact distribution rail. */
.part1-module .dominance-bar-wrapper {
  height: 9px;
  border-radius: 999px;
}

/* Entity identity belongs in the quote header, not a generic category glyph. */
.part1-module .data-card-icon.entity-avatar {
  width: 40px;
  height: 40px;
  overflow: hidden;
  background: #171717;
  border: 1px solid #444444;
  box-shadow: 0 0 0 2px #111111;
  flex: 0 0 40px;
}

.part1-module .data-card-icon.entity-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.part1-module .data-card-icon.entity-avatar.club-avatar {
  background: #ffffff;
  padding: 4px;
}

.part1-module .data-card-icon.entity-avatar.club-avatar img {
  object-fit: contain;
}

.part1-module .data-card-icon.entity-avatar.face-avatar img {
  opacity: 0;
}

.part1-module .data-card-icon.entity-avatar.lebron-avatar {
  background-image: url("../../public/assets/indices/lebron-profile.jpg");
  background-repeat: no-repeat;
  background-size: 200px 250px;
  background-position: -80px -12px;
}

.part1-module .data-card-icon.entity-avatar.bieber-avatar {
  background-image: url("../../public/assets/indices/justin-bieber.jpg");
  background-repeat: no-repeat;
  background-size: 136px 182px;
  background-position: -49px -9px;
}

/* One identity system across search, rankings, calendars, and pair rows. */
.dashboard-module .entity-mark,
.symbol-search-dialog .entity-mark {
  overflow: hidden;
  background: #191919;
  border: 1px solid #3b3b3b;
  color: #d7d7d7;
}

.dashboard-module .entity-mark > img,
.symbol-search-dialog .entity-mark > img {
  width: 100%;
  height: 100%;
  display: block;
}

.dashboard-module .entity-mark.person-mark > img,
.symbol-search-dialog .entity-mark.person-mark > img {
  object-fit: cover;
  object-position: center 18%;
}

/* Keep faces legible at the same compact size as TradingView's entity marks. */
.dashboard-module .entity-mark.person-mark > img[alt="Eminem"],
.symbol-search-dialog .entity-mark.person-mark > img[alt="Eminem"] {
  transform: scale(1.55);
  object-position: center 9%;
}

.dashboard-module .entity-mark.person-mark > img[alt="Elon Musk"],
.symbol-search-dialog .entity-mark.person-mark > img[alt="Elon Musk"] {
  transform: scale(1.42);
  object-position: center 5%;
}

.dashboard-module .entity-mark.logo-mark,
.symbol-search-dialog .entity-mark.logo-mark {
  background: #f1f1f1;
}

.dashboard-module .entity-mark.logo-mark > img,
.symbol-search-dialog .entity-mark.logo-mark > img {
  object-fit: contain;
  padding: 3px;
}

.dashboard-module .entity-mark.dark-mark,
.symbol-search-dialog .entity-mark.dark-mark {
  background: #121212;
}

.dashboard-module .entity-mark.neutral-mark {
  background: #242424 !important;
  border-color: #444444;
}

.dashboard-module .entity-initial {
  color: #d4d4d4;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.dashboard-module .entity-mark.pair-mark,
.symbol-search-dialog .entity-mark.pair-mark {
  position: relative;
  display: block;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
}

.part2-module .section-identity-mark {
  width: 28px;
  height: 28px;
  overflow: hidden;
  flex: 0 0 28px;
  border: 1px solid #3b3b3b;
  border-radius: 50%;
  background: #191919;
}

.part2-module .section-identity-mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.dashboard-module .pair-half,
.symbol-search-dialog .pair-half {
  position: absolute;
  width: 74%;
  height: 74%;
  overflow: hidden;
  display: block;
  border: 2px solid #000;
  border-radius: 50%;
}

.dashboard-module .pair-half:first-child,
.symbol-search-dialog .pair-half:first-child { top: 0; right: 0; z-index: 1; }
.dashboard-module .pair-half + .pair-half,
.symbol-search-dialog .pair-half + .pair-half { bottom: 0; left: 0; z-index: 2; }

.dashboard-module .pair-half img,
.symbol-search-dialog .pair-half img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}

.part1-module .ipo-logo.entity-mark,
.part2-module .trend-logo.entity-mark,
.part2-module .stock-logo.entity-mark,
.part2-module .calendar-identity.entity-mark,
.part3-module .crypto-icon.entity-mark,
.part3-module .flag-icon.entity-mark {
  border-radius: 50%;
}

.part1-module .blackbook-brand {
  flex-shrink: 0;
  height: 52px;
}

.part1-module .blackbook-brand-logo {
  display: block;
  width: auto;
  height: 52px;
}

.part1-module .search-input[readonly] {
  cursor: pointer;
}

@media (max-width: 640px) {
  .part1-module .sp500-header {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px 16px;
  }
  .part1-module .sp500-price-row {
    grid-column: 1 / -1;
    justify-content: space-between;
  }
}

.part1-module .chart-card {
  --featured-chart-color: #089981;
}

.part1-module .chart-card .sp500-header,
.part1-module .chart-card .chart-container,
.part1-module .chart-card .time-axis {
  transition: opacity 180ms ease, transform 180ms ease;
}

.part1-module .chart-card.is-switching .sp500-header,
.part1-module .chart-card.is-switching .chart-container,
.part1-module .chart-card.is-switching .time-axis {
  opacity: 0;
  transform: translateY(5px);
}

.part1-module .chart-line {
  stroke: var(--featured-chart-color);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.part1-module .chart-area {
  opacity: 1;
}

.part1-module .sp500-change.positive { color: #089981; }
.part1-module .sp500-change.negative { color: #f23645; }

@media (prefers-reduced-motion: reduce) {
  .part1-module .chart-card .sp500-header,
  .part1-module .chart-card .chart-container,
  .part1-module .chart-card .time-axis {
    transition: none;
  }
}

.part1-module .upgrade-btn:hover {
  background: #f0f0f0;
}

.part1-module .hero-cta-btn {
  color: #080808;
  background: #f0f0f0;
}

.part3-module .tab-btn.active {
  color: #080808;
  background: #e2e2e2;
  border-color: #e2e2e2;
}

.part3-module .social-links a:hover {
  color: #080808;
  background: #e2e2e2;
}

.part3-module .footer {
  margin-top: 48px;
  padding: 38px 28px 22px;
  overflow: hidden;
  background: #000000;
  border-top: 1px solid #1c1c1c;
}

.part3-module .footer-content {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 2.2fr);
  max-width: 1400px;
  align-items: start;
  gap: 56px;
}

.part3-module .footer-branding {
  display: block;
}

.part3-module .footer-wordmark {
  width: fit-content;
}

.part3-module .footer-wordmark img {
  display: block;
  width: auto;
  height: 52px;
}

.part3-module .footer .tagline {
  margin-top: 14px;
  color: #e2e2e2;
  font-family: "Inter Display", Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(22px, 2.3vw, 34px);
  font-weight: 680;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.part3-module .footer-branding p {
  max-width: 330px;
  margin-top: 14px;
  color: #707070;
  font-size: 12px;
  line-height: 1.6;
}

.part3-module .footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.part3-module .footer-column h3 {
  margin: 0 0 12px;
  color: #707070;
  font-size: 10px;
  letter-spacing: 0.09em;
}

.part3-module .footer-column ul li {
  margin-bottom: 7px;
}

.part3-module .footer-column ul li a {
  color: #b0b0b0;
  font-size: 12px;
}

.part3-module .footer-column ul li a:hover {
  color: #f0f0f0;
}

.part3-module .footer-bottom {
  max-width: 1400px;
  margin: 28px auto 0;
  padding-top: 18px;
}

.part3-module .social-links {
  gap: 8px;
}

.part3-module .social-links a {
  width: 30px;
  height: 30px;
  font-size: 12px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.symbol-search-overlay[hidden] {
  display: none;
}

.symbol-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 2200;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 76px 20px 20px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.symbol-search-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.68);
  backdrop-filter: blur(3px);
}

.symbol-search-dialog {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(720px, 100%);
  max-height: min(620px, calc(100vh - 96px));
  overflow: hidden;
  color: #e2e2e2;
  background: #000000;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.72);
  animation: search-panel-in 160ms ease-out;
}

.symbol-search-field {
  display: flex;
  align-items: center;
  min-height: 62px;
  padding: 0 14px 0 18px;
  gap: 12px;
  border-bottom: 1px solid #272727;
}

.symbol-search-field > i {
  flex: 0 0 auto;
  color: #707070;
  font-size: 14px;
}

.symbol-search-field input {
  min-width: 0;
  flex: 1;
  height: 60px;
  padding: 0;
  color: #f0f0f0;
  background: transparent;
  border: 0;
  outline: 0;
  font: 500 16px/1.2 Inter, sans-serif;
}

.symbol-search-field input::placeholder {
  color: #4a4a4a;
}

.symbol-search-field kbd {
  padding: 4px 7px;
  color: #707070;
  background: #111111;
  border: 1px solid #272727;
  border-radius: 5px;
  font: 500 10px/1.2 "Roboto Mono", monospace;
}

.symbol-search-clear,
.symbol-search-close {
  flex: 0 0 auto;
  color: #707070;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.symbol-search-clear {
  padding: 7px 4px;
  font: 600 11px/1 Inter, sans-serif;
}

.symbol-search-close {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  font: 300 24px/1 Inter, sans-serif;
}

.symbol-search-clear:hover,
.symbol-search-close:hover {
  color: #f0f0f0;
  background: #181818;
}

.symbol-search-tabs {
  display: flex;
  min-height: 46px;
  padding: 0 18px;
  gap: 22px;
  border-bottom: 1px solid #1c1c1c;
}

.symbol-search-tabs button {
  position: relative;
  padding: 0;
  color: #707070;
  background: transparent;
  border: 0;
  font: 600 12px/46px Inter, sans-serif;
  cursor: pointer;
}

.symbol-search-tabs button.active {
  color: #f0f0f0;
}

.symbol-search-tabs button.active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  content: "";
  background: #f0f0f0;
}

.symbol-search-filters {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
  padding: 13px 18px;
  overflow-x: auto;
  border-bottom: 1px solid #1c1c1c;
  scrollbar-width: none;
}

.symbol-search-filters::-webkit-scrollbar {
  display: none;
}

.symbol-search-filters button {
  flex: 0 0 auto;
  padding: 6px 12px;
  color: #999999;
  background: #0e0e0e;
  border: 1px solid #272727;
  border-radius: 999px;
  font: 600 11px/1 Inter, sans-serif;
  cursor: pointer;
}

.symbol-search-filters button:hover {
  color: #e2e2e2;
  border-color: #3a3a3a;
}

.symbol-search-filters button.active {
  color: #080808;
  background: #e2e2e2;
  border-color: #e2e2e2;
}

.symbol-search-status {
  display: flex;
  justify-content: space-between;
  padding: 10px 18px 7px;
  color: #4a4a4a;
  font: 500 11px/1.2 Inter, sans-serif;
}

.symbol-search-results {
  min-height: 160px;
  overflow-y: auto;
  padding: 0 8px 8px;
}

.symbol-result {
  position: relative;
  display: block;
  width: 100%;
  min-height: 58px;
  align-items: center;
  padding: 0 8px;
  overflow: hidden;
  color: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
}

.symbol-result-main {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 88px;
  width: 100%;
  min-width: 0;
  min-height: 58px;
  align-items: center;
  gap: 12px;
  padding: 8px 4px;
  color: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 6px;
  font: inherit;
  cursor: pointer;
}

.symbol-result.symbol-result-paired .symbol-result-main {
  grid-template-columns: 56px minmax(0, 1fr) 88px;
}

.symbol-result-main:focus-visible {
  outline: 1px solid #8b8b8b;
  outline-offset: -2px;
}

.symbol-result-pair-icons {
  display: flex;
  width: 56px;
  align-items: center;
  gap: 0;
  isolation: isolate;
}

.symbol-result-pair-icons .symbol-result-icon {
  flex: 0 0 34px;
  border: 2px solid #000;
}

.symbol-result-pair-icons .symbol-result-icon:first-child { z-index: 1; }
.symbol-result-pair-icons .symbol-result-icon + .symbol-result-icon { z-index: 2; margin-left: -12px; }

.symbol-result[hidden] {
  display: none;
}

.symbol-result:hover,
.symbol-result.keyboard-active {
  background: #181818;
}

.symbol-result-main .symbol-result-meta {
  transition: opacity 140ms ease;
}

.symbol-result:hover .symbol-result-main .symbol-result-meta,
.symbol-result:focus-within .symbol-result-main .symbol-result-meta,
.symbol-result.keyboard-active .symbol-result-main .symbol-result-meta {
  opacity: 0;
}

.symbol-result-actions {
  display: flex;
  position: absolute;
  top: 50%;
  right: 12px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 0 0 10px;
  background: #181818;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(4px, -50%, 0);
  transition: opacity 140ms ease, transform 140ms ease;
}

.symbol-result:hover .symbol-result-actions,
.symbol-result:focus-within .symbol-result-actions,
.symbol-result.keyboard-active .symbol-result-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, -50%, 0);
}

.symbol-result-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 28px;
  padding: 4px 0;
  color: #8f8f8f;
  background: transparent;
  border: 0;
  font: 600 11px/1 Inter, sans-serif;
  text-decoration: none;
  white-space: nowrap;
  transition: color 140ms ease;
}

.symbol-result-action + .symbol-result-action {
  padding-left: 9px;
  border-left: 1px solid #303030;
}

.symbol-result-action[data-search-action="chart"] {
  color: #72d9c0;
}

.symbol-result-action:hover,
.symbol-result-action:focus-visible {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}

.symbol-result-icon {
  display: flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  color: #f0f0f0;
  background: #1c1c1c;
  border: 1px solid #2a2a2a;
  border-radius: 50%;
  font: 700 10px/1 "Roboto Mono", monospace;
}

.symbol-result-icon.bitcoin,
.symbol-result-icon.gold {
  color: #f5a623;
}

.symbol-result-icon.ethereum,
.symbol-result-icon.forex,
.symbol-result-icon.index {
  color: #b0b0b0;
}

.symbol-result-icon.stock,
.symbol-result-icon.fund {
  color: #e2e2e2;
}

.symbol-result-copy,
.symbol-result-meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

.symbol-result-copy strong {
  overflow: hidden;
  color: #f0f0f0;
  font: 700 12px/1.2 "Roboto Mono", monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.symbol-result-copy small {
  overflow: hidden;
  color: #707070;
  font: 500 11px/1.2 Inter, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.symbol-result-meta {
  align-items: flex-start;
  justify-self: start;
  padding-left: 0;
  text-align: left;
}

.symbol-result-meta small {
  color: #8f8f8f;
  font: 600 11px/1.2 Inter, sans-serif;
}

.symbol-result-meta strong {
  color: #999999;
  font: 600 10px/1.2 "Roboto Mono", monospace;
}

/* Home-header account controls; the shared dialog is defined in auth.css. */

.part1-module .auth-actions {
  gap: 8px;
}

.part1-module .auth-trigger {
  min-height: 34px;
  padding: 0 14px;
  color: #d8d8d8;
  background: transparent;
  border: 1px solid #353535;
  border-radius: 9px;
  font: 700 12px/1 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, transform 140ms ease;
}

.part1-module .auth-trigger:hover,
.part1-module .auth-trigger:focus-visible {
  color: #ffffff;
  background: #1b1b1b;
  border-color: #707070;
}

.part1-module .auth-trigger:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

.part1-module .auth-trigger-signup {
  color: #0a0a0a;
  background: #f2f2f2;
  border-color: #f2f2f2;
}

.part1-module .auth-trigger-signup:hover,
.part1-module .auth-trigger-signup:focus-visible {
  color: #0a0a0a;
  background: #ffffff;
  border-color: #ffffff;
}

.part1-module .auth-trigger:active {
  transform: translateY(1px);
}

.symbol-search-empty {
  display: flex;
  min-height: 220px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 32px;
  gap: 8px;
  color: #707070;
  text-align: center;
}

.symbol-search-empty[hidden] {
  display: none;
}

.symbol-search-empty i {
  margin-bottom: 5px;
  color: #333333;
  font-size: 24px;
}

.symbol-search-empty strong {
  color: #b0b0b0;
  font-size: 13px;
}

.symbol-search-empty span {
  font-size: 11px;
}

body.search-dialog-open {
  overflow: hidden;
}

@keyframes search-panel-in {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.99);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 900px) {
  .part3-module .footer-content {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .part3-module .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .part1-module .nav-menu {
    display: none;
  }

  .part1-module .auth-trigger-signin {
    display: none;
  }

  .part1-module .auth-actions {
    margin-left: auto;
  }

  .part1-module .auth-trigger {
    min-height: 32px;
    padding: 0 11px;
  }

  .module-divider {
    padding: 32px 20px 20px;
  }

  .symbol-search-overlay {
    padding: 58px 10px 10px;
  }

  .symbol-search-dialog {
    max-height: calc(100vh - 68px);
    border-radius: 10px;
  }

  .symbol-search-field kbd {
    display: none;
  }

  .symbol-result-meta {
    display: none;
  }

  .symbol-result {
    padding: 0 4px;
  }

  .symbol-result-main,
  .symbol-result.symbol-result-paired .symbol-result-main {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .symbol-result-actions {
    position: static;
    justify-content: flex-start;
    padding: 0 4px 7px 54px;
    background: transparent;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .part3-module .footer {
    padding: 32px 20px 20px;
  }

  .part3-module .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
}


.button-ripple {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.25);
  transform: scale(0);
  animation: unified-ripple 600ms ease-out;
}

@keyframes unified-ripple {
  to {
    opacity: 0;
    transform: scale(4);
  }
}

/* Shared index routing controls are hydrated from index-catalog.js. */
.dashboard-module .index-route-control {
  cursor: pointer;
}

.dashboard-module .index-route-control:focus-visible {
  outline: 2px solid #e1e1e1;
  outline-offset: 2px;
}


/* Unsupported dashboard views remain visible but cannot masquerade as filters. */
button.is-unavailable,
a[data-unavailable="true"] {
  opacity: .48;
  cursor: not-allowed;
}

button.is-unavailable:hover,
a[data-unavailable="true"]:hover {
  transform: none;
  filter: none;
}

button.is-unavailable:focus-visible,
a[data-unavailable="true"]:focus-visible {
  outline: 2px solid #00bfa5;
  outline-offset: 2px;
}

/* Launch overview uses the same list treatment for every category. */
.part1-module .launch-leaders { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.part1-module .launch-leaders .commodities-card {width:auto;min-width:0;}
.commodity-item, .stock-row {color:inherit;text-decoration:none;}
.commodity-name, .stock-name {display:block;}
.market-empty {color:var(--text-secondary,#888);font-size:13px;line-height:1.6;padding:16px 0;}
.coming-status {color:var(--text-secondary,#888);font-size:12px;white-space:nowrap;margin-left:auto;}
.part3-module [hidden] {display:none!important;}
.part3-module .upcoming-monogram {display:grid;place-items:center;background:#191919;font-size:12px;color:#aaa;}
.part3-module .coming-copy p {color:#999;line-height:1.7;font-size:14px;max-width:420px;}
.sports-news-card a {color:inherit;text-decoration:none;}

/* News and tools share one card and grid system. */
.dashboard-module .indicators-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:40px;
}
.dashboard-module .indicator-card {
  display:flex;flex-direction:column;min-width:0;background:#080808;border:1px solid #292929;border-radius:12px;overflow:hidden;
}
.dashboard-module .indicator-card:hover {border-color:#555;}
.dashboard-module .indicator-thumbnail {display:block;position:relative;width:100%;height:180px;flex:0 0 180px;overflow:hidden;background:#111;}
.dashboard-module .indicator-img {display:block;width:100%;height:100%;object-fit:cover;}
.dashboard-module .indicator-content {display:flex;flex-direction:column;padding:18px;flex:1;gap:12px;}
.dashboard-module .indicator-title {font-size:16px;font-weight:650;color:#f3f3f3;line-height:1.4;min-height:45px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dashboard-module .indicator-title a {color:inherit;text-decoration:none;}
.dashboard-module .indicator-desc {font-size:13px;line-height:1.5;color:#aaa;min-height:39px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.dashboard-module .indicator-meta {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#888;margin-top:auto;}
.dashboard-module .indicator-meta .author-link {color:#b5b5b5;}
.dashboard-module .indicator-meta .stat-item {color:#888;}
#stocks .module-main {max-width:none;margin:0;padding:8px 24px 24px;}
.dashboard-module .index-item,.dashboard-module .commodity-item,.dashboard-module .stock-row,.dashboard-module .forex-item {color:inherit;text-decoration:none;}
.dashboard-module .index-item {gap:16px;}
.dashboard-module .index-info {flex:1;min-width:0;}
.dashboard-module .index-name {display:block;white-space:normal;line-height:1.4;}
.dashboard-module .index-symbol-label {display:inline-block;white-space:nowrap;}
.dashboard-module .stock-row {min-height:80px;gap:16px;}
.dashboard-module .stock-info {min-width:0;}
.dashboard-module .stock-symbol {white-space:nowrap;}
.dashboard-module .commodity-info {min-width:0;}
.dashboard-module .commodity-symbol-badge {white-space:nowrap;}

/* Populated catalogue, with a complete list on both sides. */
#coming-soon .module-main {padding-top:12px;}
.coming-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
.coming-column {min-width:0;}
.coming-column h3 {margin:0 0 18px;font-size:22px;font-weight:600;}
.coming-column h3.coming-column-spacer {visibility:hidden;}
.coming-list {list-style:none;padding:0;margin:0;}
.coming-row {display:flex;align-items:center;gap:16px;min-height:84px;padding:15px 2px;border-bottom:1px solid #252525;}
.coming-info {display:flex;flex:1;min-width:0;flex-direction:column;gap:7px;}
.coming-info strong {color:#e9e9e9;font-size:15px;font-weight:600;line-height:1.4;}
.coming-info > span {color:#8a8a8a;font:500 12px/1.4 'Mona Sans',sans-serif;letter-spacing:.03em;}
.coming-row .coming-status {color:#777;font-size:11px;}
.new-listings-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
.new-listings-grid .stock-list {margin:0;}
.part3-module .forex-item {min-height:64px;gap:20px;}
.part3-module .pair-name {min-width:94px;white-space:nowrap;}
.part3-module .percentage-value {min-width:75px;text-align:right;}
.part3-module .footer-links {grid-template-columns:repeat(3,minmax(0,1fr));}
.part3-module .social-links {gap:24px;}
.part3-module .social-links a {display:grid;place-items:center;width:56px;height:56px;}
.part3-module .social-links img {width:40px;height:40px;object-fit:contain;}
.part3-module .footer-column a[aria-disabled=true] {cursor:default;}
.part3-module .footer-column [data-legal-fallback] {color:#707070;font-size:12px;font-weight:400;}
@media(max-width:1100px){.dashboard-module .indicators-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){
 .dashboard-module .indicators-grid{grid-template-columns:1fr;gap:20px;}
 .coming-grid,.new-listings-grid{grid-template-columns:1fr;gap:0;}
 .coming-column h3.coming-column-spacer{display:none;}
 .coming-column h3{margin-top:24px;}
 .coming-info strong{font-size:14px;}
 .coming-row{gap:12px;}
 .coming-row .coming-status{font-size:10px;}
 .part3-module .forex-item{display:grid;grid-template-columns:94px 1fr 75px;gap:12px;}
 .part3-module .forex-item .bar-container{grid-column:1/-1;grid-row:2;height:8px;}
 .part3-module .pair-name{min-width:0;}
 .part3-module .footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
}
@media(max-width:900px){.part1-module .launch-leaders {grid-template-columns:1fr;}}
