"> "> :root { --bg-deep: #0f0f14; --bg-base: #1a1b26; --bg-surface: #24283b; --bg-elevated: #2a2e42; --bg-hover: #343a52; --text-primary: #c8d1e8; --text-secondary: #a3adc9; --text-muted: #8892b0; --text-bright: #ffffff; --accent-primary: #7dcfff; --accent-secondary: #2ac3de; --accent-glow: rgba(125, 207, 255, 0.15); --color-safe: #9ece6a; --color-safe-dim: rgba(158, 206, 106, 0.15); --color-warning: #e0af68; --color-warning-dim: rgba(224, 175, 104, 0.15); --color-caution: #ff9e64; --color-caution-dim: rgba(255, 158, 100, 0.15); --color-danger: #f7768e; --color-danger-dim: rgba(247, 118, 142, 0.15); --border-subtle: rgba(136, 146, 176, 0.25); --border-accent: rgba(125, 207, 255, 0.4); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Outfit', -apple-system, sans-serif; background: var(--bg-deep); color: var(--text-primary); line-height: 1.6; min-height: 100vh; } body::before { content: ''; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); opacity: 0.03; pointer-events: none; z-index: 1000; } header { background: var(--bg-base); border-bottom: 1px solid var(--border-subtle); position: sticky; top: 0; z-index: 100; backdrop-filter: blur(12px); } .header-inner { max-width: 1280px; margin: 0 auto; padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; } .logo { text-decoration: none; font-weight: 700; font-size: 1.1rem; color: var(--text-bright); letter-spacing: -0.02em; white-space: nowrap; } .logo span { color: var(--accent-primary); } @media (max-width: 480px) { .logo { font-size: 0.95rem; } } nav { display: flex; gap: 1.5rem; } nav a { color: var(--text-secondary); text-decoration: none; font-weight: 500; font-size: 0.925rem; transition: color 0.2s; white-space: nowrap; } nav a:hover { color: var(--accent-primary); } nav a.active { color: var(--text-bright); } .breadcrumb { max-width: 1280px; margin: 0 auto; padding: 1rem 1.5rem; } .breadcrumb-inner { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; flex-wrap: wrap; } .breadcrumb a { color: var(--accent-primary); text-decoration: none; } .breadcrumb a:hover { text-decoration: underline; } .breadcrumb-sep { color: var(--text-muted); } .breadcrumb-current { color: var(--text-secondary); } main { max-width: 1280px; margin: 0 auto; padding: 2rem 1.5rem 2.5rem 1.5rem; } .hero + main { padding-top: 2.5rem; } .page-header { max-width: 1280px; margin: 0 auto; padding: 1.5rem 1.5rem 1rem 1.5rem; } .page-header h1 { font-size: 1.75rem; font-weight: 700; color: var(--text-bright); letter-spacing: -0.02em; } @media (max-width: 640px) { .page-header h1 { font-size: 1.5rem; } } .hero { background: var(--bg-base); border-bottom: 1px solid var(--border-subtle); position: relative; overflow: hidden; } .hero::before { content: ''; position: absolute; top: -50%; right: -20%; width: 600px; height: 600px; background: radial-gradient(circle, var(--accent-glow) 0%, transparent 70%); pointer-events: none; } .hero-inner { max-width: 1280px; margin: 0 auto; padding: 3rem 1.5rem; position: relative; } .hero h1 { font-size: 2.25rem; font-weight: 700; color: var(--text-bright); letter-spacing: -0.03em; line-height: 1.15; margin-bottom: 0.75rem; } @media (max-width: 640px) { .hero h1 { font-size: 1.75rem; } } .hero p { font-size: 1.05rem; color: var(--text-secondary); max-width: 600px; margin-bottom: 1.5rem; } .cta-btn { display: inline-block; background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary)); border: none; border-radius: 10px; padding: 0.875rem 1.75rem; color: var(--bg-deep); font-weight: 600; font-size: 1rem; text-decoration: none; transition: transform 0.15s, box-shadow 0.15s; } .cta-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px var(--accent-glow); } .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 3rem; } @media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } } .stat-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.25rem; text-align: center; transition: transform 0.2s, border-color 0.2s; } .stat-card:hover { transform: translateY(-2px); border-color: var(--border-accent); } .stat-value { font-family: 'JetBrains Mono', monospace; font-size: 1.75rem; font-weight: 700; color: var(--text-bright); letter-spacing: -0.02em; } .stat-label { font-size: 0.85rem; color: var(--text-muted); margin-top: 0.25rem; } .stat-value.warning { color: var(--color-warning); } .stat-value.danger { color: var(--color-danger); } .stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 2rem; } @media (max-width: 768px) { .stats-row { grid-template-columns: repeat(2, 1fr); } } .chart-section { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.5rem; margin-bottom: 2rem; } .chart-wrapper { height: 280px; position: relative; } .table-section { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; } .table-header { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); } .table-title { font-size: 1.125rem; font-weight: 600; color: var(--text-bright); } .model-link { color: var(--text-bright); text-decoration: none; font-weight: 500; transition: color 0.2s; } .model-link:hover { color: var(--accent-primary); } .year-cell { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; } .year-cell.worst { color: var(--color-danger); } .year-cell.best { color: var(--color-safe); } .hide-mobile {} @media (max-width: 640px) { .hide-mobile { display: none; } } .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; } .section-title { font-size: 1.35rem; font-weight: 600; color: var(--text-bright); letter-spacing: -0.02em; } .section-link { color: var(--accent-primary); text-decoration: none; font-size: 0.9rem; font-weight: 500; transition: opacity 0.2s; } .section-link:hover { opacity: 0.8; } .vehicles-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 3rem; } @media (min-width: 768px) { .vehicles-grid { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 1024px) { .vehicles-grid { grid-template-columns: repeat(5, 1fr); } } .vehicle-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.25rem; text-decoration: none; transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s; position: relative; overflow: hidden; } .vehicle-card:hover { transform: translateY(-3px); border-color: var(--border-accent); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); } .vehicle-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary)); opacity: 0; transition: opacity 0.2s; } .vehicle-card:hover::before { opacity: 1; } .vehicle-year { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--text-muted); margin-bottom: 0.2rem; } .vehicle-name { font-size: 1rem; font-weight: 600; color: var(--text-bright); margin-bottom: 0.75rem; line-height: 1.3; } .vehicle-complaints { font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; color: var(--color-warning); } .vehicle-complaints span { color: var(--text-muted); font-family: 'Outfit', sans-serif; } .recall-card .vehicle-complaints { color: var(--color-danger); } .makes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-bottom: 1rem; } @media (min-width: 640px) { .makes-grid { grid-template-columns: repeat(4, 1fr); } } @media (min-width: 768px) { .makes-grid { grid-template-columns: repeat(5, 1fr); } } @media (min-width: 1024px) { .makes-grid { grid-template-columns: repeat(6, 1fr); } } .make-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 1rem 0.75rem; text-align: center; text-decoration: none; transition: transform 0.2s, border-color 0.2s, background 0.2s; } .make-card:hover { transform: translateY(-2px); border-color: var(--border-accent); background: var(--bg-elevated); } .make-name { font-weight: 600; color: var(--text-primary); margin-bottom: 0.2rem; font-size: 0.95rem; } .make-count { font-size: 0.8rem; color: var(--text-muted); font-family: 'JetBrains Mono', monospace; } .data-table { width: 100%; border-collapse: collapse; background: var(--bg-surface); border-radius: 14px; overflow: hidden; border: 1px solid var(--border-subtle); } .data-table th { background: var(--bg-elevated); padding: 1rem; text-align: left; font-weight: 600; color: var(--text-secondary); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid var(--border-subtle); cursor: pointer; transition: background 0.2s; white-space: nowrap; } .data-table th:hover { background: var(--bg-hover); } .data-table th .sort-icon { margin-left: 0.5rem; opacity: 0.4; } .data-table th.sorted .sort-icon { opacity: 1; color: var(--accent-primary); } .data-table td { padding: 1rem; border-bottom: 1px solid var(--border-subtle); vertical-align: middle; } .data-table tbody tr { transition: background 0.15s; } .data-table tbody tr:hover { background: var(--bg-elevated); } .data-table tbody tr:last-child td { border-bottom: none; } .data-table a { color: var(--accent-primary); text-decoration: none; font-weight: 500; } .data-table a:hover { text-decoration: underline; } .table-number { font-family: 'JetBrains Mono', monospace; color: var(--text-secondary); } .table-container { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; } .table-controls { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; } .search-input { flex: 1; max-width: 300px; min-width: 150px; background: var(--bg-deep); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 0.6rem 1rem; color: var(--text-primary); font-size: 0.9rem; font-family: inherit; } .search-input::placeholder { color: var(--text-muted); } .search-input:focus { outline: none; border-color: var(--accent-primary); } .result-count { color: var(--text-muted); font-size: 0.85rem; } .table-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--border-subtle); display: flex; gap: 0.75rem; justify-content: center; } .show-btn { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 0.6rem 1.25rem; color: var(--accent-primary); font-weight: 600; font-size: 0.875rem; cursor: pointer; transition: background 0.2s, border-color 0.2s; font-family: inherit; } .show-btn:hover { background: var(--bg-hover); border-color: var(--border-accent); } .num-cell { font-family: 'JetBrains Mono', monospace; color: var(--text-secondary); text-align: right; } .num-cell.highlight { color: var(--color-warning); } .num-header { text-align: right; } .make-link { color: var(--text-bright); text-decoration: none; font-weight: 500; transition: color 0.2s; } .make-link:hover { color: var(--accent-primary); } .rating-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.75rem; border-radius: 6px; font-size: 0.8rem; font-weight: 600; white-space: nowrap; flex-shrink: 0; } .rating-good { background: var(--color-safe-dim); color: var(--color-safe); } .rating-average { background: var(--color-warning-dim); color: var(--color-warning); } .rating-below_average { background: var(--color-caution-dim); color: var(--color-caution); } .rating-avoid { background: var(--color-danger-dim); color: var(--color-danger); } .alerts-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 2rem; } @media (max-width: 640px) { .alerts-row { grid-template-columns: 1fr; } } .alert-box { border-radius: 12px; padding: 1.25rem; display: flex; gap: 1rem; } .alert-box.danger { background: var(--color-danger-dim); border: 1px solid var(--color-danger); } .alert-box.safe { background: var(--color-safe-dim); border: 1px solid var(--color-safe); } .alert-box .alert-icon { font-size: 1.5rem; flex-shrink: 0; } .alert-box.danger .alert-icon { color: var(--color-danger); } .alert-box.safe .alert-icon { color: var(--color-safe); } .alert-content h3 { font-size: 1rem; font-weight: 600; margin-bottom: 0.25rem; } .alert-box.danger .alert-content h3 { color: var(--color-danger); } .alert-box.safe .alert-content h3 { color: var(--color-safe); } .alert-text { color: var(--text-secondary); font-size: 0.9rem; } .alert-years { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; } .year-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; padding: 0.25rem 0.6rem; border-radius: 6px; font-weight: 600; text-decoration: none; } .alert-box.danger .year-tag { background: rgba(247, 118, 142, 0.3); color: var(--color-danger); } .alert-box.safe .year-tag { background: rgba(158, 206, 106, 0.3); color: var(--color-safe); } .year-link { color: var(--text-bright); text-decoration: none; font-family: 'JetBrains Mono', monospace; font-weight: 600; transition: color 0.2s; } .year-link:hover { color: var(--accent-primary); } .problems-section { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.25rem; margin-bottom: 2rem; } .problems-title { font-size: 1rem; font-weight: 600; color: var(--text-bright); margin-bottom: 1rem; } .problems-list { display: flex; flex-wrap: wrap; gap: 0.5rem; } .problem-tag { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 0.5rem 0.875rem; font-size: 0.85rem; color: var(--text-secondary); display: flex; align-items: center; gap: 0.5rem; } .problem-count { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--color-warning); } .alert { padding: 1rem 1.25rem; border-radius: 10px; margin-bottom: 1.5rem; display: flex; align-items: flex-start; gap: 0.75rem; } .alert-icon { flex-shrink: 0; font-size: 1.25rem; } .alert-danger { background: var(--color-danger-dim); border: 1px solid rgba(247, 118, 142, 0.3); } .alert-danger .alert-icon { color: var(--color-danger); } .alert-success { background: var(--color-safe-dim); border: 1px solid rgba(158, 206, 106, 0.3); } .alert-success .alert-icon { color: var(--color-safe); } .alert-title { font-weight: 600; color: var(--text-bright); margin-bottom: 0.25rem; } .alert-text { color: var(--text-secondary); font-size: 0.9rem; } .chart-container { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.5rem; margin-bottom: 2rem; } .chart-title { font-size: 1.1rem; font-weight: 600; color: var(--text-bright); margin-bottom: 1rem; } .complaint-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.25rem; margin-bottom: 1rem; transition: border-color 0.2s; } .complaint-card:hover { border-color: var(--border-accent); } .complaint-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.75rem; gap: 1rem; } .complaint-component { font-weight: 600; color: var(--accent-primary); font-size: 0.9rem; } .complaint-date { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--text-muted); white-space: nowrap; } .complaint-text { color: var(--text-secondary); font-size: 0.95rem; line-height: 1.7; } .complaint-meta { display: flex; gap: 1.5rem; margin-top: 0.75rem; font-size: 0.85rem; color: var(--text-muted); } .complaint-meta-item { display: flex; align-items: center; gap: 0.35rem; } .meta-danger { color: var(--color-danger); } .recall-item { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-left: 3px solid var(--color-danger); border-radius: 0 12px 12px 0; padding: 1.25rem; margin-bottom: 1rem; } .recall-item-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.5rem; gap: 1rem; } .recall-item-id { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--color-danger); font-weight: 600; } .recall-item-date { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--text-muted); } .recall-item-component { font-weight: 600; color: var(--text-bright); margin-bottom: 0.5rem; } .recall-item-text { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.6; } .recall-item-units { margin-top: 0.75rem; font-size: 0.85rem; color: var(--text-muted); } .filter-bar { display: flex; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; } .filter-input { flex: 1; min-width: 200px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.75rem 1rem; color: var(--text-primary); font-family: 'Outfit', sans-serif; font-size: 0.95rem; transition: border-color 0.2s, box-shadow 0.2s; } .filter-input:focus { outline: none; border-color: var(--accent-primary); box-shadow: 0 0 0 3px var(--accent-glow); } .filter-input::placeholder { color: var(--text-muted); } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-radius: 10px; font-weight: 500; font-size: 0.9rem; text-decoration: none; transition: all 0.2s; cursor: pointer; border: none; font-family: 'Outfit', sans-serif; } .btn-primary { background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary)); color: var(--bg-deep); } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px var(--accent-glow); } .btn-secondary { background: var(--bg-surface); border: 1px solid var(--border-subtle); color: var(--text-primary); } .btn-secondary:hover { border-color: var(--border-accent); background: var(--bg-elevated); } .pagination-controls { display: flex; justify-content: center; gap: 0.75rem; margin-top: 1.5rem; } .table-info { text-align: center; color: var(--text-muted); font-size: 0.9rem; margin-top: 1rem; } .text-center { text-align: center; } .mt-1 { margin-top: 0.5rem; } .mt-2 { margin-top: 1rem; } .mt-3 { margin-top: 1.5rem; } .mb-1 { margin-bottom: 0.5rem; } .mb-2 { margin-bottom: 1rem; } .mb-3 { margin-bottom: 1.5rem; } .hidden-row { display: none !important; } .filter-hidden { display: none !important; } .vehicle-title-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; } @media (max-width: 640px) { .vehicle-title-row { align-items: flex-start; } } .rating-badge-large { display: flex; flex-direction: column; align-items: center; padding: 0.75rem 1.25rem; border-radius: 12px; background: var(--color-safe-dim); border: 1px solid var(--color-safe); flex-shrink: 0; } .rating-badge-large .rating-label { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); margin-bottom: 0.15rem; } .rating-badge-large .rating-value { font-family: 'JetBrains Mono', monospace; font-size: 1rem; font-weight: 700; color: var(--color-safe); text-transform: uppercase; } .rating-badge-large.good { background: var(--color-safe-dim); border-color: var(--color-safe); } .rating-badge-large.good .rating-value { color: var(--color-safe); } .rating-badge-large.average { background: var(--color-warning-dim); border-color: var(--color-warning); } .rating-badge-large.average .rating-value { color: var(--color-warning); } .rating-badge-large.below_average { background: var(--color-caution-dim); border-color: var(--color-caution); } .rating-badge-large.below_average .rating-value { color: var(--color-caution); } .rating-badge-large.avoid { background: var(--color-danger-dim); border-color: var(--color-danger); } .rating-badge-large.avoid .rating-value { color: var(--color-danger); } .stats-row-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.75rem; margin-bottom: 2rem; } @media (max-width: 768px) { .stats-row-5 { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 480px) { .stats-row-5 { grid-template-columns: repeat(2, 1fr); } } .content-grid { display: grid; grid-template-columns: 1fr 320px; gap: 1.5rem; } @media (max-width: 900px) { .content-grid { grid-template-columns: 1fr; } } .main-content { min-width: 0; } .sidebar-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.25rem; margin-bottom: 1.25rem; } .sidebar-title { font-size: 1rem; font-weight: 600; color: var(--text-bright); margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--border-subtle); } .component-list { list-style: none; } .component-item { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0; border-bottom: 1px solid var(--border-subtle); } .component-item:last-child { border-bottom: none; padding-bottom: 0; } .component-name { color: var(--text-primary); font-size: 0.9rem; text-decoration: none; transition: color 0.2s; } .component-name:hover { color: var(--accent-primary); } .component-count { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; padding: 0.2rem 0.5rem; border-radius: 5px; background: var(--color-warning-dim); color: var(--color-warning); } .doughnut-container { display: flex; justify-content: center; margin-bottom: 1rem; } .doughnut-chart { width: 160px; height: 160px; } .problem-breakdown-section { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.5rem; margin-bottom: 1.5rem; } .problem-breakdown-grid { display: grid; grid-template-columns: 240px 1fr; gap: 2.5rem; align-items: center; } @media (max-width: 640px) { .problem-breakdown-grid { grid-template-columns: 1fr; gap: 1.5rem; } } .problem-chart-container { display: flex; justify-content: center; align-items: center; } .problem-chart-container canvas { width: 220px !important; height: 220px !important; } .problem-category-list { list-style: none; margin: 0; padding: 0; } .problem-category-item { border-bottom: 1px solid var(--border-subtle); } .problem-category-item:last-child { border-bottom: none; } .problem-category-link { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 0; text-decoration: none; transition: background 0.2s; } .problem-category-name { color: var(--text-primary); font-size: 0.95rem; transition: opacity 0.2s; } .problem-category-item:nth-child(1) .problem-category-name { color: #f7768e; } .problem-category-item:nth-child(2) .problem-category-name { color: #ff9e64; } .problem-category-item:nth-child(3) .problem-category-name { color: #e0af68; } .problem-category-item:nth-child(4) .problem-category-name { color: #9ece6a; } .problem-category-item:nth-child(5) .problem-category-name { color: #7dcfff; } .problem-category-item:nth-child(6) .problem-category-name { color: #bb9af7; } .problem-category-item:nth-child(7) .problem-category-name { color: #8892b0; } .problem-category-item:nth-child(8) .problem-category-name { color: #c8d1e8; } .problem-category-link:hover .problem-category-name { opacity: 0.7; } .problem-category-count { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; padding: 0.25rem 0.6rem; border-radius: 6px; background: var(--color-warning-dim); color: var(--color-warning); } .recalls-section, .complaints-section { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; margin-bottom: 1.5rem; } .section-header-bar { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); display: flex; justify-content: space-between; align-items: center; } .section-count { color: var(--text-muted); font-size: 0.85rem; } .recall-item { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); transition: background 0.2s; } .recalls-section .recall-item:hover { background: var(--bg-elevated); } .recalls-section .recall-item:last-child { border-bottom: none; } .recall-meta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.4rem; font-size: 0.8rem; } .recall-id { color: var(--accent-primary); font-family: 'JetBrains Mono', monospace; text-decoration: none; } .recall-id:hover { text-decoration: underline; } .recall-date { color: var(--text-muted); } .recall-category { background: var(--color-danger-dim); color: var(--color-danger); padding: 0.1rem 0.5rem; border-radius: 4px; font-size: 0.75rem; } .recall-desc { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.6; } .complaint-item { padding: 1.25rem; border-bottom: 1px solid var(--border-subtle); transition: background 0.2s; } .complaint-item:hover { background: var(--bg-elevated); } .complaint-item:last-child { border-bottom: none; } .complaint-meta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.5rem; font-size: 0.8rem; } .complaint-date { color: var(--text-muted); font-family: 'JetBrains Mono', monospace; } .complaint-category { color: var(--accent-primary); font-weight: 500; } .complaint-mileage { color: var(--text-muted); } .complaint-text { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.7; } .badge-danger { background: var(--color-danger-dim); color: var(--color-danger); padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.75rem; font-weight: 600; } .badge-warning { background: var(--color-caution-dim); color: var(--color-caution); padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.75rem; font-weight: 600; } .complaints-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--border-subtle); display: flex; gap: 0.75rem; justify-content: center; } .show-more-btn { padding: 0.75rem 1.5rem; background: var(--accent-primary); border: none; border-radius: 8px; color: var(--bg-deep); font-weight: 600; font-size: 0.9rem; cursor: pointer; transition: background 0.2s, transform 0.2s; font-family: inherit; } .show-more-btn:hover { transform: translateY(-1px); } .show-more-btn.btn-secondary { background: var(--bg-elevated); color: var(--text-primary); border: 1px solid var(--border-subtle); } .show-more-btn.btn-secondary:hover { border-color: var(--border-accent); } .other-years-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; } .year-link-card { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 8px; padding: 0.6rem; text-align: center; text-decoration: none; transition: transform 0.2s, border-color 0.2s; } .year-link-card:hover { transform: translateY(-1px); border-color: var(--border-accent); } .year-link-card.active { background: var(--accent-glow); border-color: var(--accent-primary); } .year-link-year { font-family: 'JetBrains Mono', monospace; font-weight: 600; color: var(--text-bright); font-size: 0.9rem; } .year-link-count { font-size: 0.7rem; color: var(--text-muted); } .info-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.5rem; margin-bottom: 1.5rem; } .info-card-title { font-size: 1.1rem; font-weight: 600; color: var(--text-bright); margin-bottom: 0.75rem; } .info-card-text { color: var(--text-secondary); line-height: 1.7; } .info-highlight { background: var(--accent-glow); border-color: var(--accent-primary); } .info-highlight .info-card-text { color: var(--text-primary); } .stat-value-text { font-family: 'JetBrains Mono', monospace; font-size: 1rem; font-weight: 600; color: var(--text-bright); } .accent-link { color: var(--accent-primary); text-decoration: underline; } .mb-2 { margin-bottom: 1.5rem; } .text-center { text-align: center; } .recalls-intro { color: var(--text-secondary); margin-bottom: 1.5rem; } .pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 1.5rem; } .pagination-btn { padding: 0.6rem 1.25rem; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: 8px; color: var(--accent-primary); text-decoration: none; font-weight: 500; transition: background 0.2s, border-color 0.2s; } .pagination-btn:hover { background: var(--bg-elevated); border-color: var(--border-accent); } .pagination-info { color: var(--text-muted); font-size: 0.9rem; } footer { background: var(--bg-base); border-top: 1px solid var(--border-subtle); margin-top: 2rem; } .footer-inner { max-width: 1280px; margin: 0 auto; padding: 2rem 1.5rem; } .footer-text { color: var(--text-muted); font-size: 0.85rem; line-height: 1.7; } .footer-text a { color: var(--accent-primary); text-decoration: none; } .footer-disclaimer { margin-top: 0.75rem; font-size: 0.8rem; color: var(--text-muted); }
<