
        body { font-family: 'Inter', sans-serif; }
        .font-mono { font-family: 'JetBrains Mono', monospace; }
        .sidebar-link {
            color: #94a3b8;
            border: 1px solid transparent;
        }
        .sidebar-link:hover {
            color: #e2e8f0;
            background: rgba(30, 41, 59, 0.6);
        }
        .sidebar-link.is-active {
            color: #9ab7d9;
            background: rgba(59, 92, 130, 0.16);
            border-color: rgba(107, 145, 190, 0.2);
        }
        .comparison-page.is-visible {
            display: flex;
            flex-direction: column;
        }
        .compare-filters {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.875rem;
            padding: 1rem;
            background: #111827;
            border: 1px solid #263244;
            border-radius: 0.875rem;
        }
        .compare-filter {
            display: flex;
            min-width: 0;
            flex-direction: column;
            gap: 0.45rem;
        }
        .compare-filter label {
            color: #aab5c5;
            font-size: 0.6875rem;
            font-weight: 600;
        }
        .compare-filter select {
            width: 100%;
            min-width: 0;
            padding: 0.625rem 0.75rem;
            color: #e2e8f0;
            background: #1b2635;
            border: 1px solid #344256;
            border-radius: 0.5rem;
            font-size: 0.75rem;
        }
        .compare-filter select:focus {
            outline: 2px solid rgba(119, 149, 189, 0.4);
            outline-offset: 1px;
        }
        .compare-summary {
            display: flex;
            min-width: 0;
            flex-direction: column;
            gap: 0.625rem;
            padding: 1.125rem;
            background: #111827;
            border: 1px solid #263244;
            border-radius: 0.875rem;
        }
        .compare-summary__label {
            overflow: hidden;
            color: #aab5c5;
            font-size: 0.75rem;
            font-weight: 600;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .compare-summary__value {
            overflow: hidden;
            color: #f3f5f8;
            font-size: clamp(1.25rem, 2vw, 1.75rem);
            font-variant-numeric: tabular-nums;
            font-weight: 700;
            letter-spacing: -0.04em;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .compare-summary__value.is-positive {
            color: #91c6a2;
        }
        .compare-summary__value.is-negative {
            color: #e2a0a0;
        }
        .compare-summary__note {
            color: #8290a3;
            font-size: 0.6875rem;
        }
        .compare-unit {
            align-self: flex-start;
            padding: 0.3rem 0.55rem;
            color: #aab5c5;
            background: #1b2635;
            border-radius: 999px;
            font-size: 0.625rem;
            font-weight: 600;
        }
        .glass-card {
            background: #111827;
            border: 1px solid #263244;
            border-radius: 0.875rem;
            transition: border-color 160ms ease, background-color 160ms ease;
        }
        .glass-card:hover {
            background: #141d2b;
            border-color: #35445a;
        }
        .kpi-card {
            min-width: 0;
            padding: 1.125rem;
            background: #111827;
            border: 1px solid #263244;
            border-radius: 0.875rem;
            transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
        }
        .kpi-card:hover,
        .axis-card:hover {
            background: #141d2b;
            border-color: #35445a;
            transform: translateY(-1px);
        }
        .kpi-card--revenue {
            border-left: 3px solid #4b8b68;
        }
        .kpi-card__heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            margin-bottom: 0.875rem;
        }
        .kpi-card__label {
            color: #aab5c5;
            font-size: 0.75rem;
            font-weight: 600;
            line-height: 1.35;
        }
        .kpi-card__icon {
            display: grid;
            width: 2rem;
            height: 2rem;
            flex: 0 0 auto;
            place-items: center;
            color: #9aacc2;
            background: #1c2939;
            border-radius: 0.625rem;
            font-size: 0.875rem;
        }
        .kpi-card--revenue .kpi-card__icon {
            color: #91c6a2;
            background: #1b3028;
        }
        .kpi-card__value {
            overflow: hidden;
            color: #f3f5f8;
            font-size: clamp(1.25rem, 1.7vw, 1.75rem);
            font-weight: 700;
            letter-spacing: -0.045em;
            line-height: 1.2;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-variant-numeric: tabular-nums;
        }
        .kpi-card__note {
            display: flex;
            align-items: center;
            gap: 0.45rem;
            margin-top: 0.75rem;
            color: #8290a3;
            font-size: 0.6875rem;
            line-height: 1.4;
        }
        .kpi-card__status {
            width: 0.375rem;
            height: 0.375rem;
            flex: 0 0 auto;
            background: #72ad83;
            border-radius: 50%;
        }
        .section-count {
            color: #8290a3;
            font-size: 0.75rem;
            font-weight: 500;
        }
        .axis-card {
            display: flex;
            min-width: 0;
            flex-direction: column;
            justify-content: space-between;
            gap: 1rem;
            padding: 1rem;
            background: #111827;
            border: 1px solid #263244;
            border-radius: 0.875rem;
            transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
        }
        .axis-card__meta {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            margin-bottom: 0.75rem;
        }
        .axis-card__region {
            overflow: hidden;
            color: #91a0b3;
            font-size: 0.6875rem;
            font-weight: 600;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .axis-card__count {
            flex: 0 0 auto;
            padding: 0.2rem 0.5rem;
            color: #aeb9c8;
            background: #1b2635;
            border-radius: 999px;
            font-size: 0.625rem;
            font-weight: 600;
        }
        .axis-card__title {
            margin-bottom: 0.75rem;
            color: #edf0f4;
            font-size: 0.9375rem;
            font-weight: 650;
            line-height: 1.4;
        }
        .axis-card__stations {
            display: flex;
            flex-wrap: wrap;
            gap: 0.375rem;
            margin-bottom: 0.25rem;
        }
        .axis-card__station {
            padding: 0.25rem 0.5rem;
            color: #aab5c5;
            background: #1b2635;
            border: 1px solid #2a3749;
            border-radius: 0.375rem;
            font-size: 0.625rem;
            line-height: 1.3;
        }
        .axis-card__total {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 0.75rem;
            padding-top: 0.75rem;
            border-top: 1px solid #263244;
            color: #8290a3;
            font-size: 0.6875rem;
        }
        .axis-card__total strong {
            overflow: hidden;
            color: #b7d5bd;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.9375rem;
            font-weight: 600;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: rgba(15, 23, 42, 0.6); }
        ::-webkit-scrollbar-thumb { background: rgba(51, 65, 85, 0.8); border-radius: 4px; }
        @media (max-width: 767px) {
            .compare-filters {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        @media (max-width: 420px) {
            .compare-filters {
                grid-template-columns: minmax(0, 1fr);
            }
        }