/* Smartphone SoC ranking, scoped to .soc-* */
.soc-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.soc-mode{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:9px 11px;border:1px solid var(--line);border-radius:13px;background:#fff}
.soc-mode strong{font-size:12px;margin-right:5px}
.soc-mode button{border:1px solid #e4d9dd;border-radius:9px;background:#fff;color:#554d51;padding:8px 12px;font-size:12px;font-weight:850;cursor:pointer}
.soc-mode button.active{border-color:var(--pink);background:var(--pink-soft);color:#a33f5c}
.soc-filter h3{margin:0 0 6px;font-size:13px;font-weight:900}
.soc-filter .filter-section{padding:10px 0}
.soc-search{width:100%;min-height:38px;border:1px solid #ded0d5;border-radius:10px;padding:7px 10px;font:inherit}
.soc-info{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 8px;color:var(--muted);font-size:12px;font-weight:750}
.soc-note{font-size:11px;color:var(--muted)}
.soc-table-wrap{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.soc-table{border-collapse:collapse;min-width:980px;width:100%;table-layout:fixed}
.soc-table th,.soc-table td{border-right:1px solid #e8dde1;border-bottom:1px solid #e8dde1;padding:6px 5px;text-align:center;font-size:11px;line-height:1.35;vertical-align:middle;overflow:hidden;overflow-wrap:anywhere}
.soc-table th:last-child,.soc-table td:last-child{border-right:0}
.soc-table th{background:#fff0f5;font-size:11px;border-bottom:2px solid #e5c9d3}
.soc-table th button{appearance:none;cursor:pointer;width:100%;border:0;background:transparent;color:#594e54;font-size:11px;font-weight:900;padding:2px;line-height:1.25}
.soc-table tr:hover td{background:#fffafa}
.soc-table th:nth-child(1),.soc-table td:nth-child(1){width:49px}
.soc-table th:nth-child(2),.soc-table td:nth-child(2){width:195px}
.soc-table th:nth-child(3),.soc-table td:nth-child(3){width:50px}
.soc-table th:nth-child(4),.soc-table td:nth-child(4){width:113px}
.soc-table th:nth-child(5),.soc-table td:nth-child(5){width:106px}
.soc-table th:nth-child(6),.soc-table td:nth-child(6){width:83px}
.soc-table th:nth-child(7),.soc-table td:nth-child(7){width:93px}
.soc-table th:nth-child(8),.soc-table td:nth-child(8){width:140px}
.soc-table th:nth-child(9),.soc-table td:nth-child(9){width:104px}
.soc-table .soc-product{text-align:left;white-space:normal}
.soc-product strong{display:block;font-size:12px;line-height:1.25}
.soc-product small{display:block;font-weight:450;color:#777078;margin-top:3px;font-size:9px;line-height:1.2}
.soc-product small:empty{display:none}
.soc-select input{width:17px;height:17px;accent-color:var(--pink);margin:0;vertical-align:middle;cursor:pointer}
.soc-table .soc-highlight{background:#fff8db;font-weight:850}
.soc-table .score-pill{display:inline-block;border-radius:8px;background:#fff1aa;padding:3px 5px;white-space:nowrap}
.soc-empty{padding:26px;text-align:center;color:var(--muted)}
.soc-compare{margin:16px 0}
.soc-compare[hidden],.soc-empty[hidden]{display:none}
.soc-compare-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.soc-compare-top h2{margin:0;font-size:16px}
.soc-compare-top button{cursor:pointer;padding:7px 12px;border:1px solid #dfa5b6;border-radius:20px;background:#fff6f9;color:#a33f5c;font-size:11px;font-weight:900}
.soc-compare-top .soc-small{font-size:11px;color:var(--muted);font-weight:700}
.soc-compare .soc-table td{background:#fffafc}
.soc-intro-note{padding:10px 12px;border:1px solid #f0d9e1;border-radius:10px;background:#fff;font-size:11px;line-height:1.7;color:#63585e;margin-top:12px}
@media(max-width:700px){
 .soc-mode{gap:5px;padding:7px 9px}
 .soc-mode strong{flex:0 0 100%;font-size:11px}
 .soc-mode button{flex:1;font-size:10.5px;padding:7px 6px}
 .soc-filter .filter-section{padding:7px 0}
 .soc-table{min-width:950px}
 .soc-table th,.soc-table td{padding:5px 4px;font-size:10.5px}
 .soc-table th button{font-size:10px}
 .soc-product strong{font-size:11px}
 .soc-product small{font-size:9px}
 .soc-info{font-size:11px}
}

/* Benchmark versions and release dates */
.soc-mode[hidden]{display:none!important}
.soc-version-bar{margin-top:-3px}
.soc-version-bar .chips{gap:5px}
.soc-version-bar button{min-width:42px}
.soc-table th:last-child,.soc-table td:last-child{min-width:100px}
.soc-table .soc-value{overflow-wrap:anywhere}
@media(max-width:700px){.soc-version-bar button{min-width:40px;flex:0 0 auto;padding:6px 8px}}

/* Benchmark versions share the same compact table sizing.
   No GB6/v11-specific row heights, widths or font-size overrides. */


/* 2026-10-08: compact single-line SoC names, 38px rows / 36px headers on mobile.
   All benchmark versions and comparison tables share the same single-line name rendering.
   Older versions use intrinsic row heights, adjusted via smaller shared padding. */
/* 2026-10-08: real fixed mobile row geometry.
   GB6 and AnTuTu v11 have 10 columns vs older AnTuTu's 9 columns.
   Table auto layout was showing ~3x-height on Android.
   Use flex only for these two modes to prevent table row height redistribution.
   Do not remove/reorder columns; all original scores remain reachable by x-scroll. */
@media (max-width: 700px){
  .soc-table.soc-fixed-mobile-rows{
    display:block;
    table-layout:auto;
    width:972px;
    min-width:972px;
    max-width:none;
  }
  .soc-table.soc-fixed-mobile-rows thead,
  .soc-table.soc-fixed-mobile-rows tbody{
    display:block;
    width:972px;
  }
  .soc-table.soc-fixed-mobile-rows thead tr,
  .soc-table.soc-fixed-mobile-rows tbody tr{
    display:flex;
    width:972px;
    height:38px;
    min-height:38px;
    max-height:38px;
    margin:0;
  }
  .soc-table.soc-fixed-mobile-rows thead tr{
    height:36px;
    min-height:36px;
    max-height:36px;
  }
  .soc-table.soc-fixed-mobile-rows tr > th,
  .soc-table.soc-fixed-mobile-rows tr > td{
    display:flex;
    box-sizing:border-box;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    height:100%;
    min-width:0;
    min-height:0;
    max-height:100%;
    overflow:hidden;
    margin:0;
    padding:3px 4px;
    font-size:10.5px;
    line-height:1.2;
    white-space:nowrap;
  }
  .soc-table.soc-fixed-mobile-rows thead button{
    padding:1px;
    font-size:10px;
    line-height:1.2;
    white-space:nowrap;
  }
  .soc-table.soc-fixed-mobile-rows tr > .soc-product{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    white-space:normal;
    text-align:left;
  }
  .soc-table.soc-fixed-mobile-rows .soc-product strong{
    display:block;
    font-size:11px;
    line-height:1.15;
    max-width:100%;
    overflow-wrap:break-word;
  }
  .soc-table.soc-fixed-mobile-rows .soc-product small{
    display:block;
    font-size:9px;
    line-height:1.15;
    margin-top:1px;
    max-width:100%;
    overflow-wrap:break-word;
  }
  .soc-table.soc-fixed-mobile-rows .score-pill{
    padding:2px 5px;
    font-size:10.5px;
    white-space:nowrap;
  }
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(1){width:46px;min-width:46px;max-width:46px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(2){width:175px;min-width:175px;max-width:175px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(3){width:48px;min-width:48px;max-width:48px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(4){width:106px;min-width:106px;max-width:106px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(5){width:102px;min-width:102px;max-width:102px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(6){width:77px;min-width:77px;max-width:77px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(7){width:88px;min-width:88px;max-width:88px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(8){width:132px;min-width:132px;max-width:132px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(9){width:88px;min-width:88px;max-width:88px}
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(10){width:110px;min-width:110px;max-width:110px}
}


/* Announcement-year chips: compact, responsive and consistent with manufacturer chips. */
.soc-year-buttons{gap:5px}
.soc-year-buttons button{min-width:60px;text-align:center;white-space:nowrap}
@media(max-width:700px){
  .soc-year-buttons{gap:4px}
  .soc-year-buttons button{min-width:54px;padding:5px 7px}
}


/* Mobile SoC name width: 2/3 with real multi-line wrapping (2026-10-08). */
@media (max-width:700px) {
  /* Nine-column AnTuTu versions: 195px -> 130px (not fixed-row mode). */
  .soc-table:not(.soc-fixed-mobile-rows) {
    width:885px;
    min-width:885px;
    max-width:none;
    table-layout:fixed;
  }
  .soc-table:not(.soc-fixed-mobile-rows) th:nth-child(2),
  .soc-table:not(.soc-fixed-mobile-rows) td:nth-child(2) {
    width:130px;
    min-width:130px;
    max-width:130px;
  }
  .soc-table .soc-product,
  .soc-table .soc-product strong {
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  /* GB6 and AnTuTu v11: 175px -> 116px; recalculate the full row width. */
  .soc-table.soc-fixed-mobile-rows,
  .soc-table.soc-fixed-mobile-rows thead,
  .soc-table.soc-fixed-mobile-rows tbody,
  .soc-table.soc-fixed-mobile-rows thead tr,
  .soc-table.soc-fixed-mobile-rows tbody tr {
    width:913px;
    min-width:913px;
  }
  .soc-table.soc-fixed-mobile-rows tr > :nth-child(2){
    width:116px;
    min-width:116px;
    max-width:116px;
  }
  /* Keep short rows compact but expand only long product names as needed.
     Flex rows prevent the oversized automatic table-height regression. */
  .soc-table.soc-fixed-mobile-rows tbody tr {
    height:auto;
    min-height:38px;
    max-height:none;
    align-items:stretch;
  }
  .soc-table.soc-fixed-mobile-rows tbody tr > td {
    height:auto;
    min-height:38px;
    max-height:none;
    align-self:stretch;
  }
  .soc-table.soc-fixed-mobile-rows .soc-product strong {
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}


/* Benchmark selector lives directly below the filter heading. */
.soc-filter .soc-mode{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.soc-filter .soc-version-bar{margin-top:8px}
@media(max-width:700px){.soc-filter .soc-mode{gap:5px;padding:0}}

/* Direct link to report incorrect benchmark data. */
.soc-intro-note a{color:#a33f5c;font-weight:850;text-decoration:underline;text-underline-offset:2px}
