﻿
    .cmp-wrapper {
        --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
        --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
        display: flex;
        justify-content: center;
        padding: clamp(0px, 5vw, 0px) 20px;
    }

    .cmp-panel {
        position: relative;                
        width: 100%;
        max-width: 1400px;
        border-radius: 28px;
        padding: clamp(24px, 4vw, 48px);
        overflow: hidden;
    }
    
    .cmp-content { position: relative; z-index: 1; }

    /* ---------- HERO ---------- */
    .cmp-hero { text-align: center; max-width: 820px; margin: 0 auto 30px; position: relative; }
    .hero-ambient-glow {
        position: absolute; top: -60px; left: 50%; transform: translateX(-50%);
        width: 600px; height: 300px; background: radial-gradient(circle, color-mix(in srgb, var(--primary-color) 20%, transparent) 0%, var(--primary-glow) 40%, transparent 70%);
        filter: blur(50px); pointer-events: none; z-index: -1; border-radius: 50%;
    }
    .cmp-hero-badge {
        display: inline-flex; align-items: center; gap: 8px;
        font-size: 12px; font-weight: 800; letter-spacing: 0.8px; text-transform: uppercase;
        color: var(--primary-color); background: var(--primary-light);
        padding: 8px 20px; border-radius: 100px; margin-bottom: 20px;
        border: 1px solid color-mix(in srgb, var(--primary-color) 30%, transparent);
        box-shadow: 0 4px 16px color-mix(in srgb, var(--primary-color) 12%, transparent);
        backdrop-filter: blur(8px);
    }
    .badge-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--primary-color); box-shadow: 0 0 10px var(--primary-color); animation: pulseDot 2s infinite; }
    @keyframes pulseDot { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.4); opacity: 0.6; } }

    .cmp-hero-title { font-size: clamp(28px, 4vw, 44px); font-weight: 900; line-height: 1.15; letter-spacing: -0.025em; color: var(--text-main); margin-bottom: 14px; }
    .cmp-hero-title em { font-style: normal; background: linear-gradient(120deg, var(--primary-color), var(--primary-gradient-end)); -webkit-background-clip: text; background-clip: text; color: transparent; }
    .cmp-hero-desc { font-size: 15px; color: var(--text-muted); line-height: 1.7; margin-bottom: 24px; }

    /* ---------- INPUT SECTION ---------- */
    .cmp-input-card { background: var(--bg-body); border-radius: 24px; border: 1px solid var(--border-color); padding: 24px; margin-bottom: 30px; box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
    .cmp-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--border-color); flex-wrap: wrap; gap: 12px; }
    .cmp-header-title { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--text-main); }
    .cmp-lang-box { display: flex; align-items: center; gap: 8px; }

    .custom-dropdown { position: relative; }
    .cd-header { display: flex; align-items: center; gap: 8px; background: var(--card-bg); border: 1px solid var(--border-color); padding: 6px 12px; border-radius: 8px; font-size: 12.5px; font-weight: 700; color: var(--text-main); cursor: pointer; transition: 0.2s; }
    .cd-header:hover { border-color: var(--primary-color); }
    .cd-body { position: absolute; top: calc(100% + 6px); right: 0; width: 230px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); z-index: 100; display: none; overflow: hidden; }
    .custom-dropdown.active .cd-body { display: block; }
    .cd-search { padding: 8px; border-bottom: 1px solid var(--border-color); }
    .cd-search input { width: 100%; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 6px; padding: 6px 10px; font-size: 12px; color: var(--text-main); outline: none; }
    .cd-list { max-height: 200px; overflow-y: auto; padding: 4px; }
    .cd-group-lbl { font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--text-muted); padding: 6px 8px 2px; }
    .cd-item { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 6px; font-size: 12.5px; font-weight: 600; color: var(--text-main); cursor: pointer; transition: 0.15s; }
    .cd-item:hover { background: var(--bg-body); }
    .cd-item.active { background: var(--primary-light); color: var(--primary-color); font-weight: 700; }
    .cd-iso-badge { font-family: monospace; font-size: 10px; font-weight: 800; color: var(--text-muted); background: var(--bg-body); padding: 2px 5px; border-radius: 4px; border: 1px solid var(--border-color); }
    .cd-item.active .cd-iso-badge { color: var(--primary-color); border-color: color-mix(in srgb, var(--primary-color) 40%, transparent); }
    .cd-divider { height: 1px; background: var(--border-color); margin: 4px 0; }

    .dir-toggle-btn { display: flex; align-items: center; gap: 6px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 6px 10px; font-size: 12px; font-weight: 800; cursor: pointer; color: var(--text-main); transition: 0.2s; }
    .dir-toggle-btn:hover { border-color: var(--primary-color); color: var(--primary-color); }

    .cmp-search-box { display: flex; flex-direction: column; gap: 14px; }
    .cmp-textarea { width: 100%; min-height: 110px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 16px; padding: 16px 18px; font-size: 13.5px; font-weight: 600; color: var(--text-main); outline: none; resize: vertical; line-height: 1.6; transition: 0.2s; font-family: monospace; box-sizing: border-box; }
    .cmp-textarea:focus { border-color: var(--primary-color); box-shadow: 0 0 0 3px var(--primary-light); }
    .cmp-textarea::placeholder { color: var(--text-muted); opacity: 0.5; font-family: inherit; }

    .cmp-actions-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
    .cmp-quick-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .cmp-tool-btn { background: var(--card-bg); border: 1px solid var(--border-color); color: var(--text-main); border-radius: 8px; padding: 7px 14px; font-weight: 700; font-size: 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: 0.2s; }
    .cmp-tool-btn:hover { background: var(--primary-light); color: var(--primary-color); border-color: var(--primary-color); }

    .cmp-submit-btn { background: linear-gradient(135deg, var(--primary-color), var(--primary-gradient-end)); color: white; border: none; border-radius: 12px; padding: 11px 26px; font-weight: 800; font-size: 14px; cursor: pointer; transition: 0.2s; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 4px 16px color-mix(in srgb, var(--primary-color) 25%, transparent); }
    .cmp-submit-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 8px 24px color-mix(in srgb, var(--primary-color) 35%, transparent); }
    .cmp-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }
    .spin-icon { animation: spin 1s linear infinite; }
    @keyframes spin { to { transform: rotate(360deg); } }

    /* ---------- PROGRESS BAR ---------- */
    .cmp-progress-card { background: var(--bg-body); border: 1px dashed var(--primary-color); border-radius: 18px; padding: 20px; margin-bottom: 28px; display: flex; flex-direction: column; gap: 12px; animation: fadeIn 0.3s ease; }
    .cmp-progress-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
    .cmp-progress-title { font-size: 13.5px; font-weight: 800; color: var(--primary-color); display: flex; align-items: center; gap: 8px; }
    .cmp-progress-pct { font-size: 15px; font-weight: 900; color: var(--text-main); font-family: monospace; }
    .cmp-progress-track { width: 100%; height: 8px; background: var(--card-bg); border-radius: 100px; overflow: hidden; border: 1px solid var(--border-color); }
    .cmp-progress-fill { height: 100%; background: linear-gradient(90deg, var(--primary-color), var(--primary-gradient-end)); border-radius: 100px; transition: width 0.3s ease; }
    .cmp-progress-target { font-size: 12px; font-weight: 700; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
    .cpt-url { font-family: monospace; color: var(--text-main); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    /* ---------- EMPTY STATE ---------- */
    .cmp-empty-box { background: var(--bg-body); border-radius: 24px; border: 2px dashed var(--border-color); padding: 50px 20px; text-align: center; margin-bottom: 30px; }
    .ceb-icon { color: var(--text-muted); opacity: 0.4; margin-bottom: 14px; }
    .ceb-title { font-size: 18px; font-weight: 800; color: var(--text-main); margin-bottom: 8px; }
    .ceb-desc { font-size: 14px; color: var(--text-muted); max-width: 440px; margin: 0 auto 20px; line-height: 1.6; }

    /* ---------- MASTER HIGHLIGHTS GRID ---------- */
    .cmp-master-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
    .cmp-metric-card { background: var(--bg-body); border-radius: 20px; border: 1px solid var(--border-color); padding: 20px; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; overflow: hidden; transition: 0.2s; }
    .cmp-metric-card:hover { transform: translateY(-2px); border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(0,0,0,0.03); }
    .cmp-mc-val { font-size: 30px; font-weight: 900; color: var(--text-main); font-family: monospace; line-height: 1; margin-bottom: 6px; }
    .cmp-mc-lbl { font-size: 11.5px; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
    .cmp-mc-domain { font-size: 11.5px; font-weight: 800; color: var(--primary-color); background: var(--primary-light); padding: 3px 8px; border-radius: 6px; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

    /* ---------- TABS HEADER ---------- */
    .cmp-tabs-header { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 20px; }
    .cmp-tab-btn { padding: 9px 16px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 12px; color: var(--text-muted); font-size: 13px; font-weight: 700; cursor: pointer; transition: 0.2s; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
    .cmp-tab-btn:hover { background: var(--card-bg); color: var(--text-main); }
    .cmp-tab-btn.active { background: var(--primary-light); border-color: var(--primary-color); color: var(--primary-color); font-weight: 800; }

    /* ---------- CONTENT CARDS & SECTIONS ---------- */
    .cmp-content-card { background: var(--bg-body); border-radius: 24px; border: 1px solid var(--border-color); padding: 24px; margin-bottom: 24px; overflow: hidden; }
    .cmp-section-title { font-size: 15px; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 8px; margin-bottom: 20px; }

    /* ---------- DATA TABLES MODULE STYLES (Checklist Standard) ---------- */
    .table-header-flex { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
    .table-header-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    .table-header-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
    
    .tbl-stats-badge { background: var(--primary-light); color: var(--primary-color); font-size: 11px; font-weight: 800; letter-spacing: 0.6px; padding: 6px 12px; border-radius: 8px; font-family: monospace; border: 1px solid color-mix(in srgb, var(--primary-color) 30%, transparent); height: 38px; display: inline-flex; align-items: center; box-sizing: border-box; }
    .tbl-search-box { position: relative; display: flex; align-items: center; }
    .tbl-search-icon { position: absolute; left: 12px; width: 14px; height: 14px; color: var(--text-muted); pointer-events: none; }
    .tbl-search-input { height: 38px; padding: 0 34px 0 34px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; font-size: 13px; font-weight: 600; color: var(--text-main); outline: none; width: 220px; box-sizing: border-box; transition: 0.2s; }
    .tbl-search-input:focus { border-color: var(--primary-color); }
    .tbl-search-clear { position: absolute; right: 10px; background: transparent; border: none; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; justify-content: center; }
    .tbl-search-clear:hover { color: #ef4444; }

    .tbl-action-btn { height: 38px; padding: 0 16px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; font-size: 12.5px; font-weight: 700; color: var(--text-main); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; box-sizing: border-box; transition: 0.2s; }
    .tbl-action-btn:hover { background: var(--primary-light); color: var(--primary-color); border-color: var(--primary-color); }

    /* Custom Dropdown Wrappers (Checklist Standard) */
    .custom-select-wrapper { position: relative; user-select: none; }
    .cs-trigger { height: 38px; padding: 0 14px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; font-size: 12.5px; font-weight: 700; color: var(--text-main); display: inline-flex; align-items: center; gap: 8px; cursor: pointer; box-sizing: border-box; transition: 0.2s; }
    .cs-trigger.sm { height: 32px; padding: 0 10px; font-size: 12px; border-radius: 8px; }
    .cs-trigger:hover { border-color: var(--primary-color); }
    .cs-arrow { width: 13px; height: 13px; color: var(--text-muted); }
    .cs-dropdown { position: absolute; top: calc(100% + 4px); right: 0; min-width: 140px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); z-index: 50; padding: 4px; overflow: hidden; }
    .cs-dropdown.bottom-up { top: auto; bottom: calc(100% + 4px); }
    .cs-option { padding: 8px 12px; font-size: 12px; font-weight: 600; color: var(--text-main); border-radius: 6px; cursor: pointer; transition: 0.15s; }
    .cs-option:hover { background: var(--bg-body); }
    .cs-option.selected { background: var(--primary-light); color: var(--primary-color); font-weight: 800; }

    /* Scroll Container Isolation */
    .kw-table-wrap { width: 100%; overflow-x: auto; margin-bottom: 16px; border: 1px solid var(--border-color); border-radius: 14px; background: var(--card-bg); }
    .pa-table { width: 100%; border-collapse: collapse; text-align: left; }
    [dir="rtl"] .pa-table { text-align: right; }
    .pa-table th { background: var(--bg-body); padding: 12px 14px; font-size: 11.5px; font-weight: 800; color: var(--text-muted); border-bottom: 1px solid var(--border-color); text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; user-select: none; }
    .pa-table td { padding: 12px 14px; font-size: 13px; font-weight: 600; color: var(--text-main); border-bottom: 1px solid var(--border-color); vertical-align: middle; }
    .pa-table tr:last-child td { border-bottom: none; }
    .pa-table tr:hover td { background: var(--primary-light); }
    .tbl-empty-cell { text-align: center; color: var(--text-muted); padding: 30px 16px; font-size: 13px; }

    .th-sort-wrapper { display: flex; align-items: center; gap: 6px; justify-content: space-between; }
    .sort-icon-box { display: inline-flex; align-items: center; justify-content: center; color: var(--primary-color); }

    /* Table Footer & Pagination */
    .table-footer-flex { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 4px; }
    .table-footer-left { display: flex; align-items: center; gap: 12px; }
    .entries-info { font-size: 12.5px; font-weight: 700; color: var(--text-muted); }
    .table-footer-right { display: flex; align-items: center; gap: 6px; }
    .pg-btn { width: 32px; height: 32px; border-radius: 8px; background: var(--card-bg); border: 1px solid var(--border-color); color: var(--text-main); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: 0.2s; }
    .pg-btn:hover:not(:disabled) { border-color: var(--primary-color); color: var(--primary-color); }
    .pg-btn:disabled { opacity: 0.4; cursor: not-allowed; }
    .pg-current { font-size: 12.5px; font-weight: 800; color: var(--text-main); padding: 0 8px; font-family: monospace; }

    /* Row Details & Badges */
    .rank-badge { width: 26px; height: 26px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-family: monospace; font-weight: 900; font-size: 12px; background: var(--bg-body); color: var(--text-muted); border: 1px solid var(--border-color); }
    .rank-1 { background: rgba(16, 185, 129, 0.15); color: #10b981; border-color: rgba(16, 185, 129, 0.3); }
    .rank-2 { background: rgba(0, 242, 254, 0.15); color: #00f2fe; border-color: rgba(0, 242, 254, 0.3); }

    .site-name-cell { display: flex; align-items: center; gap: 8px; font-weight: 800; white-space: nowrap; }
    .site-name-cell img { width: 18px; height: 18px; border-radius: 4px; }
    .site-name-cell a { color: var(--text-main); text-decoration: none; }
    .site-name-cell a:hover { color: var(--primary-color); text-decoration: underline; }
    .row-act-btn { background: transparent; border: none; color: var(--text-muted); cursor: pointer; padding: 4px; border-radius: 4px; opacity: 0.6; transition: 0.15s; }
    .row-act-btn:hover { opacity: 1; color: var(--primary-color); background: var(--bg-body); }

    .status-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 6px; font-family: monospace; }
    .status-badge.sb-green { background: rgba(16,185,129,0.12); color: #10b981; border: 1px solid rgba(16,185,129,0.25); }
    .status-badge.sb-red { background: rgba(239,68,68,0.12); color: #ef4444; border: 1px solid rgba(239,68,68,0.25); }
    .status-badge.sb-amber { background: rgba(245,158,11,0.12); color: #f59e0b; border: 1px solid rgba(245,158,11,0.25); }
    .status-badge.sb-purple { background: rgba(139,92,246,0.12); color: #8b5cf6; border: 1px solid rgba(139,92,246,0.25); }

    .tag-badge { background: var(--primary-light); color: var(--primary-color); padding: 3px 8px; border-radius: 6px; font-weight: 900; font-size: 11px; font-family: monospace; }
    .tag-badge.badge-warn { background: rgba(239, 68, 68, 0.1); color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.2); }

    /* ---------- ADVANTAGE MATRIX ---------- */
    .advantage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 16px; }
    .adv-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
    .adv-header { display: flex; align-items: center; gap: 12px; }
    .adv-title-wrap { min-width: 0; flex: 1; }
    .adv-domain { font-size: 14.5px; font-weight: 800; color: var(--text-main); margin: 0 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .adv-link { font-size: 11.5px; color: var(--text-muted); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
    .adv-link:hover { color: var(--primary-color); }
    .adv-body { display: flex; flex-direction: column; gap: 9px; }
    .adv-metric-row { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; color: var(--text-muted); padding: 5px 0; border-bottom: 1px dashed var(--border-color); }
    .adv-metric-row:last-child { border-bottom: none; }
    .adv-metric-row strong { color: var(--text-main); font-weight: 700; font-family: monospace; font-size: 12.5px; }

    /* ---------- MULTI-COLUMN COMPARISON DECK (CONTENT-FIRST STANDARD) ---------- */
    .cmp-multi-deck { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 12px; }
    .cmp-deck-column { flex: 0 0 340px; min-width: 310px; max-width: 380px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 4px 16px rgba(0,0,0,0.02); }
    .cmp-deck-header { padding: 16px; border-bottom: 1px solid var(--border-color); background: var(--bg-body); display: flex; flex-direction: column; gap: 10px; }
    .cdh-top { display: flex; align-items: center; gap: 10px; }
    .cdh-domain { font-size: 13.5px; font-weight: 800; color: var(--text-main); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
    .cdh-stats { display: flex; flex-direction: column; gap: 4px; font-size: 11.5px; color: var(--text-muted); }
    .cdh-stats strong { color: var(--text-main); font-family: monospace; font-weight: 800; }
    .cdh-actions { display: flex; gap: 6px; flex-wrap: wrap; }
    .cmp-deck-body { padding: 14px; max-height: 480px; overflow-y: auto; flex: 1; }
    .deck-empty-note { font-size: 12.5px; color: var(--text-muted); text-align: center; padding: 40px 10px; font-style: italic; }

    .tbl-action-btn.sm { height: 30px; padding: 0 10px; font-size: 11.5px; border-radius: 7px; }

    /* ---------- OUTLINE TREE STYLES ---------- */
    .outline-tree-list { display: flex; flex-direction: column; gap: 6px; }
    .ht-node { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: var(--text-main); line-height: 1.4; padding: 4px 6px; border-radius: 6px; transition: 0.15s; border-left: 2px solid transparent; }
    .ht-node:hover { background: var(--bg-body); border-left-color: var(--primary-color); }
    .ht-tag { font-family: monospace; font-size: 10px; font-weight: 800; padding: 2px 5px; border-radius: 4px; flex-shrink: 0; text-transform: uppercase; }
    .tag-h1 { background: rgba(16, 185, 129, 0.15); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.3); }
    .tag-h2 { background: rgba(0, 242, 254, 0.15); color: #00f2fe; border: 1px solid rgba(0, 242, 254, 0.3); }
    .tag-h3 { background: rgba(139, 92, 246, 0.15); color: #8b5cf6; border: 1px solid rgba(139, 92, 246, 0.3); }
    .tag-h4, .tag-h5, .tag-h6 { background: var(--bg-body); color: var(--text-muted); border: 1px solid var(--border-color); }
    .ht-text { flex: 1; word-break: break-word; font-weight: 600; }
    .ht-jump-warn { color: #ef4444; flex-shrink: 0; display: inline-flex; align-items: center; cursor: help; }

    /* ---------- SEMANTIC CONTENT GAP TABLE ---------- */
    .kw-phrase-cell { display: flex; flex-direction: column; gap: 3px; }
    .kw-phrase-cell strong { font-size: 13px; font-weight: 800; color: var(--text-main); }
    .kw-density-sub { font-size: 11px; color: var(--text-muted); font-family: monospace; }
    .freq-pill { display: inline-block; padding: 3px 8px; border-radius: 6px; font-size: 11.5px; font-weight: 800; font-family: monospace; min-width: 24px; text-align: center; }
    .freq-active { background: var(--primary-light); color: var(--primary-color); border: 1px solid color-mix(in srgb, var(--primary-color) 30%, transparent); }
    .freq-zero { background: var(--bg-body); color: var(--text-muted); opacity: 0.5; }

    /* ---------- EXTRACTED ARTICLE READER ---------- */
    .article-paragraphs-deck { display: flex; flex-direction: column; gap: 10px; }
    .article-para-card { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
    .ap-header { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 700; color: var(--text-muted); }
    .ap-idx { font-family: monospace; font-weight: 800; color: var(--primary-color); }
    .ap-words { font-family: monospace; }
    .ap-text { font-size: 12.5px; color: var(--text-main); line-height: 1.6; margin: 0; word-break: break-word; }

    /* ---------- GOOGLE SERP SIMULATOR ---------- */
    .serp-toggle-group { display: flex; gap: 4px; background: var(--card-bg); border: 1px solid var(--border-color); padding: 3px; border-radius: 10px; }
    .serp-toggle-btn { border: none; background: transparent; padding: 6px 12px; border-radius: 7px; font-size: 12px; font-weight: 700; color: var(--text-muted); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: 0.2s; }
    .serp-toggle-btn.active { background: var(--primary-light); color: var(--primary-color); font-weight: 800; }
    .serp-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 18px; }
    .preview-mobile .serp-sim-card { max-width: 440px; margin: 0 auto; }
    .serp-sim-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 4px 16px rgba(0,0,0,0.02); }
    .serp-card-topbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .serp-domain-pill { font-size: 12px; font-weight: 800; color: var(--text-main); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
    .serp-topbar-actions { display: flex; gap: 6px; }
    .serp-google-box { background: #ffffff; border-radius: 12px; padding: 16px; border: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 6px; font-family: arial, sans-serif; }
    [data-theme="dark"] .serp-google-box, [data-theme="sunset"] .serp-google-box { background: #1e1e24; border-color: #2e2e38; }
    .sg-url-row { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
    .sg-favicon { width: 16px; height: 16px; border-radius: 50%; }
    .sg-site-info { display: flex; flex-direction: column; min-width: 0; }
    .sg-name { font-size: 12px; color: #202124; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    [data-theme="dark"] .sg-name, [data-theme="sunset"] .sg-name { color: #dadce0; }
    .sg-breadcrumb { font-size: 11px; color: #4d5156; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    [data-theme="dark"] .sg-breadcrumb, [data-theme="sunset"] .sg-breadcrumb { color: #9aa0a6; }
    .sg-title { font-size: 18px; color: #1a0dab; font-weight: 400; line-height: 1.3; margin: 0; cursor: pointer; word-break: break-word; }
    [data-theme="dark"] .sg-title, [data-theme="sunset"] .sg-title { color: #8ab4f8; }
    .sg-title:hover { text-decoration: underline; }
    .sg-desc { font-size: 13px; color: #4d5156; line-height: 1.5; margin: 0; word-break: break-word; }
    [data-theme="dark"] .sg-desc, [data-theme="sunset"] .sg-desc { color: #bdc1c6; }
    .serp-meta-metrics { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--text-muted); border-top: 1px dashed var(--border-color); padding-top: 10px; }
    .smm-item { display: flex; justify-content: space-between; align-items: center; }
    .smm-label { font-weight: 700; }
    .smm-val { font-family: monospace; font-weight: 800; }

    /* ---------- QUESTIONS & FAQ BENCHMARK ---------- */
    .faq-questions-deck { display: flex; flex-direction: column; gap: 8px; }
    .faq-question-item { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; padding: 10px 12px; display: flex; align-items: flex-start; gap: 10px; font-size: 12.5px; font-weight: 600; color: var(--text-main); line-height: 1.4; }
    .fqi-num { background: var(--primary-light); color: var(--primary-color); font-family: monospace; font-weight: 800; font-size: 10px; padding: 2px 6px; border-radius: 4px; flex-shrink: 0; margin-top: 1px; }
    .fqi-text { flex: 1; word-break: break-word; }

    /* ---------- SUB-TABS BAR ---------- */
    .subtabs-bar { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 20px; padding-bottom: 4px; }
    .subtab-pill { padding: 7px 14px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; font-size: 12.5px; font-weight: 700; color: var(--text-muted); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: 0.2s; white-space: nowrap; }
    .subtab-pill:hover { color: var(--text-main); background: var(--card-bg); }
    .subtab-pill.active { background: var(--primary-light); color: var(--primary-color); border-color: var(--primary-color); font-weight: 800; }

    .schema-tags-list { display: flex; flex-wrap: wrap; gap: 4px; }
    .schema-pill { background: rgba(139, 92, 246, 0.12); color: #8b5cf6; border: 1px solid rgba(139, 92, 246, 0.25); font-family: monospace; font-size: 10.5px; font-weight: 700; padding: 2px 6px; border-radius: 4px; }

    /* ---------- HISTORY SECTION ---------- */
    .cmp-history-section { background: var(--bg-body); border-radius: 24px; border: 1px solid var(--border-color); padding: 22px; margin-bottom: 30px; }
    .sh-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
    .sh-title { font-size: 14.5px; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 8px; }
    .sh-clear-btn { background: transparent; border: none; font-size: 12px; font-weight: 700; color: #ef4444; cursor: pointer; padding: 4px 8px; border-radius: 6px; }
    .sh-clear-btn:hover { background: rgba(239,68,68,0.1); }
    .sh-list { display: flex; flex-direction: column; gap: 8px; max-height: 240px; overflow-y: auto; }
    .sh-item { display: flex; align-items: center; justify-content: space-between; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; padding: 10px 14px; gap: 14px; cursor: pointer; transition: 0.2s; }
    .sh-item:hover { border-color: var(--primary-color); transform: translateX(4px); }
    .sh-info { flex: 1; min-width: 0; }
    .sh-domains-text { font-size: 13px; font-weight: 700; color: var(--text-main); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 3px; }
    .sh-meta { font-size: 11px; color: var(--text-muted); display: flex; gap: 10px; }
    .sh-del-btn { background: transparent; border: none; color: var(--text-muted); cursor: pointer; padding: 4px; border-radius: 6px; }
    .sh-del-btn:hover { background: rgba(239,68,68,0.1); color: #ef4444; }

    /* ---------- BENTO BOX FEATURES CLUSTER ---------- */
    .console-features { margin-top: 40px; width: 100%; }
    .bento-features-cluster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    @media(max-width: 800px) { .bento-features-cluster { grid-template-columns: 1fr; } }
    .bento-card { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 20px; padding: 24px; position: relative; overflow: hidden; }
    .bc-wide-top { grid-column: span 2; }
    .bc-wide-mid { grid-column: span 2; }
    .bc-tall { grid-row: span 2; }
    @media(max-width: 800px) { .bc-wide-top, .bc-wide-mid, .bc-tall { grid-column: span 1; grid-row: span 1; } }

    .dashed-ring-wrapper { margin-bottom: 12px; }
    .bc-icon-wrapper { width: 40px; height: 40px; border-radius: 11px; background: var(--primary-light); color: var(--primary-color); display: flex; align-items: center; justify-content: center; }
    .bc-icon-wrapper i, .bc-icon-wrapper svg { width: 18px; height: 18px; }
    .bc-title { font-size: 15.5px; font-weight: 800; color: var(--text-main); margin-bottom: 6px; }
    .bc-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

    /* ---------- COMPETITIVE VERDICT & AWARDS LEADERBOARD ---------- */
    .cmp-awards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 24px; }
    .award-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; position: relative; overflow: hidden; transition: 0.2s; }
    .award-card:hover { transform: translateY(-2px); border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(0,0,0,0.04); }
    .award-header { display: flex; align-items: center; justify-content: space-between; }
    .award-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; padding: 4px 10px; border-radius: 100px; }
    .ab-gold { background: rgba(245, 158, 11, 0.15); color: #f59e0b; border: 1px solid rgba(245, 158, 11, 0.3); }
    .ab-emerald { background: rgba(16, 185, 129, 0.15); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.3); }
    .ab-cyan { background: rgba(0, 242, 254, 0.15); color: #00f2fe; border: 1px solid rgba(0, 242, 254, 0.3); }
    .ab-purple { background: rgba(139, 92, 246, 0.15); color: #8b5cf6; border: 1px solid rgba(139, 92, 246, 0.3); }
    .award-title { font-size: 14.5px; font-weight: 800; color: var(--text-main); margin: 0; }
    .award-winner-row { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 13.5px; color: var(--primary-color); }
    .award-stat-val { font-family: monospace; font-size: 20px; font-weight: 900; color: var(--text-main); }
    .award-hint { font-size: 11.5px; color: var(--text-muted); line-height: 1.4; }

    /* ---------- STRENGTHS VS VULNERABILITIES DECK ---------- */
    .strengths-vulnerabilities-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin-bottom: 24px; }
    .sv-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
    .sv-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--border-color); padding-bottom: 12px; }
    .sv-domain-box { display: flex; align-items: center; gap: 8px; min-width: 0; }
    .sv-domain-box strong { font-size: 14px; font-weight: 800; color: var(--text-main); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .sv-section-title { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
    .sv-section-title.title-green { color: #10b981; }
    .sv-section-title.title-red { color: #ef4444; }
    .sv-pills-wrap { display: flex; flex-wrap: wrap; gap: 6px; }
    .sv-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; padding: 4px 9px; border-radius: 7px; line-height: 1.3; }
    .sv-strength { background: rgba(16, 185, 129, 0.1); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.25); }
    .sv-vulnerability { background: rgba(239, 68, 68, 0.1); color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.25); }

    /* ---------- ACTIONABLE HOW TO WIN BLUEPRINT ---------- */
    .blueprint-card { background: linear-gradient(135deg, color-mix(in srgb, var(--primary-color) 8%, var(--card-bg)), var(--card-bg)); border: 1px solid color-mix(in srgb, var(--primary-color) 35%, var(--border-color)); border-radius: 20px; padding: 24px; margin-bottom: 24px; position: relative; overflow: hidden; }
    .bp-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; flex-wrap: wrap; gap: 10px; }
    .bp-title-wrap { display: flex; align-items: center; gap: 10px; }
    .bp-title { font-size: 16px; font-weight: 900; color: var(--text-main); margin: 0; }
    .bp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 18px; }
    .bp-target-box { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
    .bp-target-lbl { font-size: 11px; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
    .bp-target-val { font-size: 22px; font-weight: 900; color: var(--primary-color); font-family: monospace; }
    .bp-target-desc { font-size: 11.5px; color: var(--text-muted); line-height: 1.4; }
    .bp-check-list { display: flex; flex-direction: column; gap: 8px; border-top: 1px dashed var(--border-color); padding-top: 14px; }
    .bp-check-item { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--text-main); line-height: 1.45; }
    .bp-check-item span i { width: 14px; height: 14px; color: #10b981; margin-top: 2px; }

    /* ---------- HEAD-TO-HEAD BATTLE MATRIX TABLE ---------- */
    .battle-matrix-wrap { width: 100%; overflow-x: auto; margin-bottom: 16px; border: 1px solid var(--border-color); border-radius: 16px; background: var(--card-bg); }
    .battle-matrix-table { width: 100%; border-collapse: collapse; text-align: left; }
    [dir="rtl"] .battle-matrix-table { text-align: right; }
    .battle-matrix-table th { background: var(--bg-body); padding: 14px 16px; font-size: 12px; font-weight: 800; color: var(--text-muted); border-bottom: 1px solid var(--border-color); border-right: 1px solid var(--border-color); white-space: nowrap; }
    .battle-matrix-table td { padding: 12px 16px; font-size: 13px; font-weight: 600; color: var(--text-main); border-bottom: 1px solid var(--border-color); border-right: 1px solid var(--border-color); vertical-align: middle; }
    .battle-matrix-table tr:last-child td { border-bottom: none; }
    .battle-matrix-table td:last-child, .battle-matrix-table th:last-child { border-right: none; }
    .bm-metric-col { font-weight: 800; font-size: 12.5px; color: var(--text-main); background: var(--bg-body); width: 220px; min-width: 190px; }
    .bm-winner-cell { background: rgba(16, 185, 129, 0.08) !important; color: #10b981; font-weight: 800; }
    .bm-winner-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 800; background: rgba(16, 185, 129, 0.15); color: #10b981; padding: 2px 6px; border-radius: 4px; margin-left: 6px; }
    .bm-underperformer-cell { color: #f59e0b; }

    /* ---------- RADAR SPIDER VISUALIZATION ---------- */
    .radar-chart-card { background: var(--bg-body); border-radius: 20px; border: 1px solid var(--border-color); padding: 20px; margin-bottom: 24px; }
    .chart-radar-container { width: 100%; min-height: 380px; }

    /* ---------- SYNTHESIS MASTER OUTLINE ---------- */
    .synthesis-outline-box { background: var(--bg-body); border-radius: 16px; border: 1px solid var(--border-color); padding: 18px; display: flex; flex-direction: column; gap: 12px; }
    .synthesis-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
    .synthesis-tree { display: flex; flex-direction: column; gap: 6px; max-height: 420px; overflow-y: auto; }

    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }