﻿
    .swc-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;
    }

    .swc-panel {
        position: relative;                
        width: 100%;
        max-width: 1200px;
        border-radius: 28px;
        padding: clamp(28px, 5vw, 56px);
        overflow: hidden;
    }
    
    #bgCanvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0.5; z-index: 0; }
    .swc-content { position: relative; z-index: 1; }

    /* ---------- HERO ---------- */
    .swc-hero { text-align: center; max-width: 760px; margin: 0 auto; padding: clamp(10px, 4vw, 30px) 0; }
    .swc-hero-badge { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 800; letter-spacing: 0.3px; color: var(--primary-color); background: var(--primary-light); padding: 7px 16px; border-radius: 100px; margin-bottom: 22px; }
    .swc-hero-title { font-size: clamp(30px, 4.4vw, 44px); font-weight: 900; line-height: 1.15; letter-spacing: -0.025em; color: var(--text-main); margin-bottom: 16px; }
    .swc-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; }
    .swc-hero-desc { font-size: 16.5px; color: var(--text-muted); line-height: 1.7; margin-bottom: 36px; }

    /* ---------- CONTROL BAR & LANGUAGE SELECTOR ---------- */
    .swc-control-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        margin-bottom: 14px;
        flex-wrap: wrap;
        position: relative;
        z-index: 10;
    }
    .scb-badge {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 13px;
        font-weight: 800;
        color: var(--text-main);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background: var(--bg-body);
        border: 1px solid var(--border-color);
        padding: 8px 14px;
        border-radius: 10px;
    }

    /* ---------- INPUT AREA ---------- */
    .swc-app-container {
        background: var(--bg-body);
        border: 1px solid var(--border-color);
        border-radius: 24px;
        overflow: hidden;
        transition: all 0.3s var(--ease-out);
        margin-bottom: 24px;
        box-shadow: 0 12px 30px rgba(0,0,0,0.03);
    }
    .swc-app-container:focus-within { border-color: var(--primary-color); box-shadow: 0 12px 40px var(--primary-shadow); }

    /* Language Switcher & Direction Controls */
    .cc-lang-box { display: flex; align-items: center; gap: 10px; }
    .custom-dropdown { position: relative; width: 170px; }
    .cd-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; font-size: 12.5px; font-weight: 700; color: var(--text-main); cursor: pointer; transition: all 0.2s; user-select: none; }
    .cd-header:hover, .custom-dropdown.active .cd-header { border-color: var(--primary-color); }
    .cd-value { display: flex; align-items: center; gap: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .cd-body { position: absolute; top: calc(100% + 6px); right: 0; left: auto; width: 220px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 14px; 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; animation: fadeIn 0.2s ease; }
    .cd-search { padding: 8px 10px; border-bottom: 1px solid var(--border-color); }
    .cd-search input { width: 100%; padding: 6px 10px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 8px; font-size: 12px; color: var(--text-main); outline: none; }
    .cd-search input:focus { border-color: var(--primary-color); }
    .cd-list { max-height: 180px; overflow-y: auto; padding: 4px; }
    .cd-group-lbl { font-size: 10.5px; font-weight: 800; color: var(--text-muted); text-transform: uppercase; padding: 6px 8px 2px 8px; letter-spacing: 0.5px; }
    .cd-item { display: flex; align-items: center; gap: 8px; padding: 7px 10px; font-size: 12.5px; font-weight: 600; color: var(--text-main); border-radius: 8px; cursor: pointer; transition: 0.15s; }
    .cd-item:hover { background: rgba(var(--primary-color-rgb), 0.08); color: var(--primary-color); }
    .cd-item.active { background: var(--primary-color); color: #fff; font-weight: 700; }
    .cd-item.active i { color: #fff !important; }
    
    .dir-toggle-btn { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; padding: 8px 12px; font-size: 12px; font-weight: 800; color: var(--text-muted); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: 0.2s; }
    .dir-toggle-btn:hover { border-color: var(--primary-color); color: var(--primary-color); }

    .swc-card-body { padding: 24px; }
    
    .search-box-start { display: flex; gap: 16px; }
    @media (max-width: 768px) { .search-box-start { flex-direction: column; } }
    
    .search-input-wrap { flex: 1; position: relative; display: flex; align-items: center; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 14px; padding: 0 20px; transition: 0.2s; }
    .search-input-wrap:focus-within { border-color: var(--primary-color); }
    .search-input { width: 100%; height: 56px; border: none; background: transparent; padding-left: 12px; font-size: 15.5px; color: var(--text-main); outline: none; font-family: 'Space Mono', monospace; }
    .search-btn { height: 56px; padding: 0 32px; border-radius: 14px; border: none; color: #fff; background: linear-gradient(135deg, var(--primary-color), var(--primary-gradient-end)); font-size: 15.5px; font-weight: 800; cursor: pointer; transition: all 0.25s var(--ease-out); white-space: nowrap; display: flex; align-items: center; gap: 8px; justify-content: center; }
    .search-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 22px var(--primary-shadow); }
    .search-btn:disabled { opacity: 0.5; cursor: not-allowed; }

    /* ---------- HISTORY SECTION ---------- */
    .swc-history-section { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 20px; padding: 24px; margin-bottom: 30px; }
    .swc-history-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; gap: 12px; }
    .swc-history-title { font-size: 15px; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 8px; margin: 0; }
    .swc-history-list { display: flex; flex-direction: column; gap: 10px; }
    .swc-history-item { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; cursor: pointer; transition: 0.2s; gap: 12px; }
    .swc-history-item:hover { border-color: var(--primary-color); transform: translateY(-1px); }
    .swc-history-info { display: flex; align-items: center; gap: 10px; overflow: hidden; flex: 1; }
    .swc-history-badge { font-size: 12px; font-weight: 800; padding: 4px 8px; border-radius: 6px; font-family: 'Space Mono', monospace; background: var(--primary-light); color: var(--primary-color); white-space: nowrap; }
    .swc-history-url { font-size: 13.5px; font-weight: 700; color: var(--text-main); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .swc-history-meta { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
    .swc-history-score { font-size: 12px; font-weight: 800; padding: 2px 6px; border-radius: 4px; font-family: 'Space Mono', monospace; }
    .swc-history-time { font-size: 12px; color: var(--text-muted); }
    .swc-history-del { background: transparent; border: none; color: var(--text-muted); cursor: pointer; padding: 4px; border-radius: 6px; transition: 0.2s; display: flex; align-items: center; }
    .swc-history-del:hover { color: #ef4444; background: rgba(239, 68, 68, 0.1); }
    .swc-btn-ghost { background: transparent; border: 1px solid var(--border-color); border-radius: 10px; padding: 8px 16px; font-size: 13.5px; font-weight: 700; color: var(--text-muted); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s; }
    .swc-btn-ghost:hover { border-color: var(--primary-color); color: var(--primary-color); }

    /* ---------- LOADING STATE ---------- */
    .swc-loading { text-align: center; padding: 40px 0; }
    .swc-orb { width: 80px; height: 80px; border-radius: 50%; background: var(--bg-body); border: 2px solid var(--primary-light); margin: 0 auto 24px auto; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-size: 32px; box-shadow: 0 0 0 16px var(--primary-light); transition: all 0.3s; animation: pulse 2s infinite ease-in-out; }
    
    .swc-thinking-log { list-style: none; margin: 0; padding: 0 10px; display: flex; flex-direction: column; gap: 12px; max-width: 420px; margin: 0 auto; }
    .swc-thinking-log li { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; color: var(--text-muted); animation: slideInUp 0.4s ease forwards; }
    .swc-thinking-log li.active { color: var(--text-main); font-weight: 700; }
    .swc-thinking-log li.done { color: var(--text-muted); opacity: 0.6; }
    .swc-log-dot { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--border-color); display: flex; align-items: center; justify-content: center; color: var(--text-muted); }
    .swc-thinking-log li.active .swc-log-dot { border-color: var(--primary-color); color: var(--primary-color); }
    .swc-thinking-log li.done .swc-log-dot { background: var(--primary-color); border-color: var(--primary-color); color: #fff; }

    /* ---------- RESULTS DASHBOARD ---------- */
    .swc-result { animation: fadeIn 0.5s ease; }
    .swc-topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }

    /* Stats Strip */
    .swc-stats-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 24px; }
    .sc { background: var(--bg-body); border-radius: 16px; padding: 20px; border: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center; text-align: center; }
    .sc.c-green .sc-lbl i { color: var(--success, #10b981); }
    .sc.c-orange .sc-lbl i { color: #f59e0b; }
    .sc.c-red .sc-lbl i { color: var(--danger, #ef4444); }
    .sc.c-blue .sc-lbl i { color: var(--info, #3b82f6); }
    .sc-val { font-size: 28px; font-weight: 900; color: var(--text-main); line-height: 1; margin-top: 12px; transition: transform 0.3s; font-family: 'Space Mono', monospace; }
    .sc-lbl { font-size: 13px; font-weight: 700; color: var(--text-muted); display: flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: 0.5px; }

    /* Tabs Panel */
    .swc-ws-panel { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 20px; overflow: hidden; margin-bottom: 30px; }
    .tabs-header-tool { display: flex; align-items: center; gap: 8px; padding: 12px 20px; border-bottom: 1px solid var(--border-color); background: var(--bg-body); overflow-x: auto; }
    .tab-btn-tool { background: transparent; border: none; padding: 10px 16px; border-radius: 10px; font-size: 13.5px; font-weight: 800; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; gap: 8px; transition: 0.2s; white-space: nowrap; }
    .tab-btn-tool:hover { color: var(--text-main); }
    .tab-btn-tool.active { background: var(--card-bg); color: var(--primary-color); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
    .act-btn { background: transparent; border: 1px solid var(--border-color); border-radius: 10px; padding: 8px 16px; font-size: 13px; font-weight: 800; color: var(--text-main); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: 0.2s; }
    .act-btn.primary { background: var(--primary-color); border-color: var(--primary-color); color: #fff; }
    .act-btn.primary:hover { opacity: 0.9; transform: translateY(-1px); }

    /* Score Ring */
    .score-container { display: flex; flex-direction: column; align-items: center; padding: 40px 20px 20px 20px; }
    .score-ring { position: relative; width: 200px; height: 200px; }
    .score-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
    .score-bg { fill: none; stroke: var(--border-color); stroke-width: 10; }
    .score-fill { fill: none; stroke-width: 10; stroke-linecap: round; stroke-dasharray: 565.48; transition: stroke-dashoffset 1s ease-out, stroke 0.5s; }
    .score-text { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .score-num { font-size: 60px; font-weight: 900; line-height: 1; transition: color 0.5s; font-family: 'Space Mono', monospace; }
    .score-lbl { font-size: 12px; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-top: 8px; }

    /* SERP Simulator Preview */
    .overview-section-box { padding: 0 24px 24px 24px; }
    .osb-title { font-size: 14px; font-weight: 800; color: var(--text-main); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
    
    .device-switch-pills { display: flex; align-items: center; gap: 6px; background: var(--bg-body); border: 1px solid var(--border-color); padding: 3px; border-radius: 10px; }
    .d-pill { background: transparent; border: none; font-size: 12px; font-weight: 700; color: var(--text-muted); padding: 4px 10px; border-radius: 7px; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; transition: 0.2s; }
    .d-pill.active { background: var(--card-bg); color: var(--primary-color); box-shadow: 0 2px 6px rgba(0,0,0,0.06); }

    .serp-preview-card { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 16px; padding: 18px 22px; max-width: 680px; margin: 0 auto; box-shadow: 0 4px 14px rgba(0,0,0,0.02); transition: max-width 0.3s ease; }
    .serp-preview-card.mobile { max-width: 380px; border-radius: 20px; border: 2px solid var(--border-color); }
    .sp-url-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
    .sp-favicon-icon { width: 22px; height: 22px; border-radius: 50%; background: var(--card-bg); border: 1px solid var(--border-color); display: flex; align-items: center; justify-content: center; color: var(--primary-color); }
    .sp-url-wrap { display: flex; flex-direction: column; font-size: 12px; line-height: 1.3; }
    .sp-domain { font-weight: 700; color: var(--text-main); }
    .sp-full-url { color: var(--text-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 480px; }
    .serp-preview-card.mobile .sp-full-url { max-width: 260px; }
    .sp-title-link { display: block; font-size: 18px; font-weight: 700; color: #1a0dab; text-decoration: none; margin-bottom: 6px; line-height: 1.3; }
    .sp-title-link:hover { text-decoration: underline; }
    .dark-mode .sp-title-link { color: #8ab4f8; }
    .sp-desc-snippet { font-size: 13.5px; color: #4d5156; line-height: 1.5; word-break: break-word; }
    .dark-mode .sp-desc-snippet { color: #bdc1c6; }

    /* Anchor Chips & Question Chips */
    .anchor-chips-wrap { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 20px; background: var(--card-bg); }
    .anchor-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; color: var(--text-main); }
    .anc-text { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .anc-count { font-size: 11px; font-weight: 800; background: var(--primary-light); color: var(--primary-color); padding: 2px 6px; border-radius: 6px; font-family: 'Space Mono', monospace; }

    .question-chips-list { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px; background: var(--card-bg); max-height: 280px; overflow-y: auto; }
    .question-chip { display: flex; align-items: center; gap: 10px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 12px; padding: 10px 14px; font-size: 13px; font-weight: 700; color: var(--text-main); line-height: 1.4; }
    .question-chip .tag-badge { font-size: 10.5px; font-weight: 900; font-family: 'Space Mono', monospace; padding: 2px 6px; border-radius: 4px; background: rgba(139, 92, 246, 0.12); color: #8b5cf6; }
    .question-chip .q-icon { color: #10b981; display: flex; align-items: center; }
    .badge-q-icon { font-size: 10.5px; font-weight: 800; background: rgba(139, 92, 246, 0.12); color: #8b5cf6; padding: 2px 6px; border-radius: 4px; display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; }

    /* Overview Stats Grid */
    .overview-grid-cards, .content-telemetry-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; padding: 0 24px 24px 24px; }
    .og-card { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 14px; padding: 16px; text-align: center; }
    .og-card-lbl { font-size: 12px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
    .og-card-val { font-size: 20px; font-weight: 900; color: var(--text-main); font-family: 'Space Mono', monospace; }

    /* Audit Items Accordion */
    .results-grid { display: flex; flex-direction: column; gap: 12px; padding: 24px; }
    .audit-item { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 16px; overflow: hidden; transition: 0.3s; }
    .audit-item:hover { border-color: var(--primary-color); }
    .audit-header { display: flex; align-items: flex-start; gap: 16px; padding: 18px 20px; cursor: pointer; user-select: none; }
    .ai-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; margin-top: 2px; }
    .ai-icon.pass { background: #22c55e; box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3); }
    .ai-icon.warn { background: #f59e0b; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3); }
    .ai-icon.fail { background: #ef4444; box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3); }
    .ai-title-wrap { flex: 1; }
    .ai-title { font-size: 15.5px; font-weight: 800; color: var(--text-main); display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
    .ai-desc { font-size: 13.5px; color: var(--text-muted); line-height: 1.5; }
    .ai-chevron { transition: transform 0.3s; color: var(--text-muted); }
    .audit-item.expanded .ai-chevron { transform: rotate(180deg); }
    
    .ai-details { padding: 0 20px 20px 72px; display: none; }
    .audit-item.expanded .ai-details { display: block; animation: fadeIn 0.4s ease; }
    
    .detail-block { background: var(--card-bg); border-radius: 12px; padding: 14px; border: 1px solid var(--border-color); margin-bottom: 10px; }
    .db-title { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
    .code-box { background: var(--bg-body); border-radius: 8px; padding: 12px; font-family: 'Space Mono', monospace; font-size: 12.5px; color: var(--text-main); line-height: 1.6; word-break: break-word; border: 1px solid var(--border-color); }
    .code-box.c-red { border-left: 3px solid #ef4444; }
    .fix-box { background: rgba(34, 197, 94, 0.05); border-radius: 8px; padding: 12px; font-size: 13.5px; color: var(--text-main); line-height: 1.6; border: 1px solid rgba(34, 197, 94, 0.2); border-left: 3px solid #22c55e; }
    .fix-box.f-warn { background: rgba(245, 158, 11, 0.05); border-color: rgba(245, 158, 11, 0.2); border-left-color: #f59e0b; }
    .fix-box.f-red { background: rgba(239, 68, 68, 0.05); border-color: rgba(239, 68, 68, 0.2); border-left-color: #ef4444; }
    .fix-box code { background: var(--bg-body); padding: 2px 6px; border-radius: 4px; font-family: 'Space Mono', monospace; font-size: 12px; border: 1px solid var(--border-color); }
    .data-detail-pill { font-size: 13px; font-weight: 600; color: var(--text-main); word-break: break-word; line-height: 1.5; }

    /* ---------- DEEP DATA PANELS ---------- */
    .deep-data-panel { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 18px; margin: 0 24px 24px 24px; overflow: hidden; }
    .ddp-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--border-color); background: var(--card-bg); flex-wrap: wrap; gap: 12px; }
    .ddp-title { font-size: 14px; font-weight: 800; color: var(--text-main); display: flex; align-items: center; gap: 8px; }
    .ddp-search-box { display: flex; align-items: center; gap: 8px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; padding: 6px 12px; min-width: 220px; }
    .ddp-search-box input { border: none; background: transparent; font-size: 12.5px; color: var(--text-main); outline: none; width: 100%; }
    
    .ddp-filter-pills, .ddp-filter-bar { display: flex; align-items: center; gap: 8px; padding: 10px 20px; border-bottom: 1px solid var(--border-color); background: var(--bg-body); flex-wrap: wrap; }
    .pill-btn { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; padding: 5px 12px; font-size: 12px; font-weight: 800; color: var(--text-muted); cursor: pointer; transition: 0.2s; }
    .pill-btn:hover { border-color: var(--primary-color); color: var(--primary-color); }
    .pill-btn.active { background: var(--primary-light); color: var(--primary-color); border-color: var(--primary-color); }
    .pill-btn.text-rose.active { background: rgba(239, 68, 68, 0.1); color: #ef4444; border-color: #ef4444; }
    .pill-btn.text-green.active { background: rgba(16, 185, 129, 0.1); color: #10b981; border-color: #10b981; }

    /* Data Tables */
    .table-responsive-box { max-height: 420px; overflow-y: auto; overflow-x: auto; }
    .data-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
    .data-table th { background: var(--card-bg); padding: 12px 16px; font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); border-bottom: 1px solid var(--border-color); position: sticky; top: 0; z-index: 2; }
    .data-table td { padding: 12px 16px; border-bottom: 1px solid var(--border-color); vertical-align: middle; color: var(--text-main); font-weight: 600; }
    .data-table tr:hover td { background: rgba(var(--primary-color-rgb), 0.02); }
    
    .td-anchor { max-width: 250px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .td-url { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .link-target-url { color: var(--primary-color); text-decoration: none; font-family: 'Space Mono', monospace; font-size: 12px; }
    .link-target-url:hover { text-decoration: underline; }
    .link-target-url.url-issue { color: #ef4444; }

    .badge-type { font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 6px; text-transform: uppercase; font-family: 'Space Mono', monospace; }
    .badge-type.internal { background: rgba(59, 130, 246, 0.1); color: #3b82f6; }
    .badge-type.external { background: rgba(139, 92, 246, 0.1); color: #8b5cf6; }
    
    .badge-rel { font-size: 11px; font-weight: 800; padding: 2px 6px; border-radius: 4px; color: var(--text-muted); font-family: 'Space Mono', monospace; }
    .badge-rel.badge-nofollow { background: rgba(245, 158, 11, 0.1); color: #f59e0b; }

    .badge-ext { font-size: 11px; font-weight: 800; padding: 3px 6px; border-radius: 4px; background: var(--primary-light); color: var(--primary-color); font-family: 'Space Mono', monospace; }
    .badge-missing-alt { font-size: 11.5px; font-weight: 800; color: #ef4444; background: rgba(239, 68, 68, 0.1); padding: 3px 8px; border-radius: 6px; }
    .alt-text-val { font-size: 12.5px; color: var(--text-main); }
    .badge-status-pill { font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 6px; }
    .badge-status-pill.pass { background: rgba(16, 185, 129, 0.1); color: #10b981; }
    .badge-status-pill.fail { background: rgba(239, 68, 68, 0.1); color: #ef4444; }
    .empty-state-notice { padding: 36px 20px; text-align: center; color: var(--text-muted); font-size: 13.5px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 8px; }

    /* Heading Tree */
    .heading-tree-list { max-height: 420px; overflow-y: auto; display: flex; flex-direction: column; }
    .ht-item { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--border-color); transition: 0.2s; }
    .ht-item:hover { background: rgba(var(--primary-color-rgb), 0.02); }
    .ht-item.lvl-1 { padding-left: 20px; border-left: 4px solid var(--primary-color); }
    .ht-item.lvl-2 { padding-left: 36px; border-left: 4px solid #3b82f6; }
    .ht-item.lvl-3 { padding-left: 52px; border-left: 4px solid #8b5cf6; }
    .ht-item.lvl-4 { padding-left: 68px; border-left: 4px solid #f59e0b; }
    .ht-tag-badge { font-size: 11px; font-weight: 900; font-family: 'Space Mono', monospace; padding: 3px 8px; border-radius: 6px; flex-shrink: 0; }
    .ht-tag-badge.tag-h1 { background: var(--primary-light); color: var(--primary-color); }
    .ht-tag-badge.tag-h2 { background: rgba(59, 130, 246, 0.1); color: #3b82f6; }
    .ht-tag-badge.tag-h3 { background: rgba(139, 92, 246, 0.1); color: #8b5cf6; }
    .ht-tag-badge.tag-h4, .ht-tag-badge.tag-h5, .ht-tag-badge.tag-h6 { background: rgba(245, 158, 11, 0.1); color: #f59e0b; }
    .ht-text { flex: 1; font-size: 13.5px; font-weight: 700; color: var(--text-main); word-break: break-word; }
    .ht-len { font-size: 11.5px; color: var(--text-muted); font-family: 'Space Mono', monospace; font-weight: 700; }

    /* Social Cards Preview Deck */
    .social-preview-deck-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin: 0 24px; }
    .social-preview-deck-grid .deep-data-panel { margin: 0; }
    .og-preview-box { background: var(--bg-body); border-radius: 12px; overflow: hidden; margin: 16px; border: 1px solid var(--border-color); }
    .og-img-frame { width: 100%; height: 160px; background: #000; overflow: hidden; display: flex; align-items: center; justify-content: center; }
    .og-img-frame img { width: 100%; height: 100%; object-fit: cover; }
    .og-no-img { width: 100%; height: 120px; background: var(--card-bg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; font-size: 12px; font-weight: 700; color: var(--text-muted); }
    .og-meta-body { padding: 14px; display: flex; flex-direction: column; gap: 4px; }
    .og-domain { font-size: 11.5px; font-weight: 800; text-transform: uppercase; color: var(--text-muted); letter-spacing: 0.5px; }
    .og-title-text { font-size: 14px; font-weight: 800; color: var(--text-main); line-height: 1.3; }
    .og-desc-text { font-size: 12.5px; color: var(--text-muted); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .og-preview-box.twitter-mode { border-radius: 16px; }

    /* Schema Viewer */
    .schema-block-item { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; padding: 14px; margin-bottom: 12px; }
    .schema-badge { font-size: 12px; font-weight: 800; color: var(--primary-color); margin-bottom: 8px; font-family: 'Space Mono', monospace; }
    .schema-raw-box { background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px; font-family: 'Space Mono', monospace; font-size: 12px; color: var(--text-main); max-height: 240px; overflow: auto; margin: 0; }

    /* Keyword Density Bar */
    .density-bar-wrap { display: flex; align-items: center; gap: 8px; width: 100%; }
    .density-bar-fill { height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--primary-color), var(--primary-gradient-end)); }
    .density-val { font-size: 12px; font-weight: 800; font-family: 'Space Mono', monospace; color: var(--text-main); }
    .badge-count { font-size: 11.5px; font-weight: 800; padding: 2px 8px; border-radius: 6px; background: var(--primary-light); color: var(--primary-color); font-family: 'Space Mono', monospace; }

    /* Tech Trackers & Pixels Strip */
    .tech-trackers-strip { display: flex; flex-wrap: wrap; gap: 8px; }
    .tech-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 10px; padding: 7px 12px; font-size: 12.5px; font-weight: 700; color: var(--text-main); }
    .tech-chip.cms-badge { background: var(--primary-light); color: var(--primary-color); border-color: var(--primary-color); }
    .tech-chip.neutral { color: var(--text-muted); }

    /* Link Protocols Bar */
    .link-protocols-bar { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; padding: 16px 20px; background: var(--card-bg); }
    .lp-item { display: flex; flex-direction: column; gap: 4px; background: var(--bg-body); border: 1px solid var(--border-color); border-radius: 10px; padding: 10px 12px; text-align: center; }
    .lp-lbl { font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
    .lp-val { font-size: 16px; font-weight: 900; color: var(--text-main); font-family: 'Space Mono', monospace; }

    /* Utility typography */
    .font-mono { font-family: 'Space Mono', monospace; font-size: 12.5px; }
    .font-bold { font-weight: 800; }
    .text-break { word-break: break-all; }
    .text-indigo { color: #6366f1; }
    .text-green { color: #10b981; }
    .text-rose { color: #ef4444; }

    /* ---------- BENTO BOX FEATURES ---------- */
    .console-features { margin-top: 40px; width: 100%; }
    .bento-features-cluster { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: minmax(130px, auto); gap: 20px; width: 100%; position: relative; z-index: 2; }
    .bento-card { background: rgba(255, 255, 255, 0.015); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--border-color); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden; transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
    
    .bento-card::before {
        content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
        width: 150px; height: 150px; background-size: contain; background-repeat: no-repeat; background-position: center;
        opacity: 0.03; transition: all 0.5s ease; pointer-events: none; z-index: 0;
    }
    .bento-card:hover::before { opacity: 0.08; transform: translate(-50%, -50%) scale(1.1); }
    .dark-mode .bento-card::before { filter: invert(1); opacity: 0.05; }
    
    .feat-icon-dom::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>'); }
    .feat-icon-score::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="9" y1="21" x2="9" y2="9"/></svg>'); }
    .feat-icon-bulb::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"/><path d="M9 18h6"/><path d="M10 22h4"/></svg>'); }
    .feat-icon-list::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m3 17 2 2 4-4"/><path d="m3 7 2 2 4-4"/><path d="M13 6h8"/><path d="M13 12h8"/><path d="M13 18h8"/></svg>'); }
    .feat-icon-link::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>'); }
    .feat-icon-media::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>'); }

    .bento-card::after { content: ''; position: absolute; inset: 0; border-radius: 24px; background: linear-gradient(135deg, rgba(255,255,255,0.03) 0%, transparent 100%); pointer-events: none; }
    .bento-card:hover { transform: translateY(-4px) scale(1.01); border-color: var(--primary-color); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
    .bento-card-content { position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%; gap: 12px; }
    
    .dashed-ring-wrapper { position: relative; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 8px; width: 44px; height: 44px; }
    .dashed-ring-wrapper::after { content: ''; position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px; border: 1px dashed var(--border-color); border-radius: 16px; opacity: 0.5; transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); z-index: 0; transform-origin: center center; }
    .bento-card:hover .dashed-ring-wrapper::after { opacity: 1; transform: scale(1.1) rotate(180deg); border-color: var(--primary-color); }
    .bc-icon-wrapper { width: 44px; height: 44px; border-radius: 12px; background: var(--bg-body); border: 1px solid var(--border-color); display: flex; align-items: center; justify-content: center; color: var(--text-muted); transition: all 0.4s ease; margin-bottom: 0; position: relative; z-index: 1; }
    .bento-card:hover .bc-icon-wrapper { background: linear-gradient(135deg, var(--primary-color), var(--border-color)); color: white; border-color: transparent; transform: scale(1.1) rotate(4deg); }
    .bc-title { font-size: 16px; font-weight: 800; color: var(--text-main); margin: 0; }
    .bc-desc { font-size: 13.5px; color: var(--text-muted); line-height: 1.6; margin: 0; font-weight: 500; }
    
    @media (max-width: 900px) {
        .bento-features-cluster { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 600px) {
        .bento-features-cluster { grid-template-columns: 1fr; }
    }

    /* Floating Scroll to Top */
    .swc-scroll-top-btn {
        position: fixed;
        bottom: 30px;
        right: 30px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: var(--card-bg);
        border: 1px solid var(--border-color);
        color: var(--primary-color);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        box-shadow: 0 6px 20px rgba(0,0,0,0.15);
        z-index: 999;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .swc-scroll-top-btn:hover {
        transform: translateY(-4px);
        background: var(--primary-color);
        color: #fff;
        box-shadow: 0 10px 25px rgba(var(--primary-color-rgb), 0.35);
    }