:root{--sllive-blue:#0875b9;--sllive-blue-dark:#04598e;--sllive-blue-soft:#edf6fc;--sllive-red:#ed1c24;--sllive-ink:#172033;--sllive-muted:#667085;--sllive-line:#d7e2ec;--sllive-bg:#f6f9fc;--sllive-gold:#c99716;--sllive-silver:#7b8794;--sllive-bronze:#a96838}
.sllive-root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--sllive-ink);font-feature-settings:"palt"}
.sllive-wrap{max-width:100%;margin:0 auto}
.sllive-loading,.sllive-error{padding:24px;border:1px solid var(--sllive-line);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(28,52,78,.06)}
.sllive-spinner{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid #c8d7e5;border-top-color:var(--sllive-blue);border-radius:50%;vertical-align:-3px;animation:sllive-spin .8s linear infinite}
@keyframes sllive-spin{to{transform:rotate(360deg)}}
.sllive-header{position:relative;overflow:hidden;margin:0 0 28px;padding:24px 28px 22px;border:1px solid #dce8f2;border-left:8px solid var(--sllive-blue);border-radius:0 14px 14px 0;background:linear-gradient(120deg,#eef7fd 0%,#fff 66%);box-shadow:0 10px 28px rgba(25,70,105,.07)}
.sllive-header:after{content:"";position:absolute;right:-38px;top:-56px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(8,117,185,.10),rgba(8,117,185,0) 68%);pointer-events:none}
.sllive-header h2{position:relative;margin:5px 0 4px;font-size:clamp(20px,2.1vw,28px);line-height:1.4;font-weight:700;letter-spacing:.01em}
.sllive-title-main,.sllive-title-sub{display:inline}
.sllive-header p{position:relative;margin:0;color:var(--sllive-muted);font-size:14px}
.sllive-kicker{position:relative;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--sllive-blue)}
.sllive-section{margin:0 0 32px}
.sllive-section h3{position:relative;display:flex;align-items:center;margin:0 0 13px;padding-left:18px;font-size:21px;line-height:1.35;font-weight:750;letter-spacing:.02em}
.sllive-section h3:before{content:"";position:absolute;left:0;top:3px;width:6px;height:24px;border-radius:2px;background:linear-gradient(180deg,#ff3138,var(--sllive-red))}
.sllive-section h3:after{content:"";height:1px;flex:1;margin-left:14px;background:linear-gradient(90deg,#dbe5ee,transparent)}
.sllive-scroll-guide{display:none;margin:0 0 7px;color:#7d8996;font-size:11px;text-align:right}
.sllive-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--sllive-line);border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(25,70,105,.06);scrollbar-width:thin;scrollbar-color:#9eabb7 #eef2f6}
.sllive-scroll::-webkit-scrollbar{height:10px}
.sllive-scroll::-webkit-scrollbar-track{background:#eef2f6;border-radius:99px}
.sllive-scroll::-webkit-scrollbar-thumb{background:#9eabb7;border:2px solid #eef2f6;border-radius:99px}
.sllive-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0;background:#fff;font-size:14px}
.sllive-table th,.sllive-table td{padding:11px 13px;border-right:1px solid var(--sllive-line);border-bottom:1px solid var(--sllive-line);text-align:center;white-space:nowrap;vertical-align:middle}
.sllive-table th:last-child,.sllive-table td:last-child{border-right:0}
.sllive-table tbody tr:last-child th,.sllive-table tbody tr:last-child td{border-bottom:0}
.sllive-table thead th{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#eef6fc,#e2eef8);color:#24364a;font-weight:800;box-shadow:inset 0 -1px 0 #c8d7e5}
.sllive-table tbody tr:nth-child(even)>*{background-color:#fbfdff}
.sllive-table tbody tr:hover>*{background-color:#f3f9fd}
.sllive-ranking td:nth-child(1),.sllive-ranking th:nth-child(1){position:sticky;left:0;z-index:3;width:62px;min-width:62px}
.sllive-ranking td:nth-child(2),.sllive-ranking th:nth-child(2){position:sticky;left:62px;z-index:3;min-width:190px;text-align:left}
.sllive-ranking thead th:nth-child(1),.sllive-ranking thead th:nth-child(2){z-index:5;background:linear-gradient(180deg,#dcecf8,#d3e6f5)}
.sllive-ranking tbody td:nth-child(1),.sllive-ranking tbody td:nth-child(2){background:#fff}
.sllive-ranking tbody tr:nth-child(even) td:nth-child(1),.sllive-ranking tbody tr:nth-child(even) td:nth-child(2){background:#fbfdff}
.sllive-ranking tbody tr:hover td:nth-child(1),.sllive-ranking tbody tr:hover td:nth-child(2){background:#f3f9fd}
.sllive-ranking tbody td:first-child{font-size:15px}
.sllive-ranking tbody td:first-child .sllive-bold,.sllive-ranking tbody td:first-child{font-weight:850}
.sllive-ranking tbody tr:nth-child(-n+3) td:first-child:before{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;margin-right:5px;border-radius:50%;color:#fff;font-size:12px;font-weight:900}
.sllive-ranking tbody tr:nth-child(1) td:first-child:before{content:"1";background:linear-gradient(145deg,#d6ad35,#a87d09);box-shadow:0 3px 8px rgba(171,128,20,.22)}
.sllive-ranking tbody tr:nth-child(2) td:first-child:before{content:"2";background:linear-gradient(145deg,#aab5c0,#737f8b);box-shadow:0 3px 8px rgba(100,112,124,.20)}
.sllive-ranking tbody tr:nth-child(3) td:first-child:before{content:"3";background:linear-gradient(145deg,#bd8253,#95582e);box-shadow:0 3px 8px rgba(143,82,42,.20)}
.sllive-ranking tbody tr:nth-child(-n+3) td:first-child{font-size:0;color:transparent}
.sllive-ranking tbody tr:nth-child(-n+3) td:first-child:before{font-size:12px;color:#fff}
.sllive-bold{font-weight:800}
.sllive-team-label{display:flex;align-items:center;gap:8px;min-height:26px}
.sllive-team-label span{line-height:1.35}
.sllive-emblem{width:28px;height:28px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.08))}
.sllive-score{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:4px 10px;border:1px solid #d9eaf6;border-radius:999px;background:linear-gradient(180deg,#f5fbff,#e7f3fb);color:#17344d;font-weight:850;letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.sllive-pending-score{border-color:#e2e7ec;background:#f2f4f6;color:#99a4ae;font-weight:700}
.sllive-matrix{min-width:960px}
.sllive-matrix th:not(.sllive-sticky){min-width:118px;max-width:150px}
.sllive-matrix .sllive-sticky{position:sticky;left:0;z-index:4;min-width:180px;max-width:220px;text-align:left;background:#f8fbfe;box-shadow:5px 0 12px rgba(45,79,110,.05)}
.sllive-matrix thead .sllive-sticky{z-index:6;background:linear-gradient(180deg,#dcecf8,#d3e6f5)}
.sllive-matrix tbody tr:nth-child(even) .sllive-sticky{background:#f4f8fb}
.sllive-matrix tbody tr:hover .sllive-sticky{background:#edf6fc}

.sllive-matrix-head-team{display:block;line-height:1.35;word-break:keep-all}
.sllive-matrix thead th:not(.sllive-sticky){text-align:center}
.sllive-self{background:repeating-linear-gradient(135deg,#f5f8fb,#f5f8fb 6px,#dfe8f0 6px,#dfe8f0 7px)!important}
.sllive-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:9px;color:var(--sllive-muted);font-size:12px}
.sllive-legend .sllive-score{min-width:46px;padding:2px 8px;font-size:11px}
.sllive-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:-12px;padding-top:2px;color:var(--sllive-muted);font-size:12px}
.sllive-refresh{padding:7px 12px;border:1px solid #aebdca;border-radius:7px;background:#fff;color:#334155;font-weight:700;cursor:pointer;transition:.18s ease}
.sllive-refresh:hover{border-color:var(--sllive-blue);background:#f2f8fc;color:var(--sllive-blue-dark)}
.sllive-refresh:disabled{opacity:.55;cursor:wait}
.sllive-status{min-width:70px}
@media(max-width:767px){
  .sllive-header{margin-bottom:24px;padding:18px 18px 17px;border-left-width:6px;border-radius:0 11px 11px 0}
  .sllive-header h2{font-size:19px}
  .sllive-title-main,.sllive-title-sub{display:block}
  .sllive-title-sub{margin-top:2px;white-space:nowrap}
  .sllive-section{margin-bottom:27px}
  .sllive-section h3{font-size:19px}
  .sllive-scroll-guide{display:block}
  .sllive-table{font-size:13px}
  .sllive-table th,.sllive-table td{padding:9px 10px}
  .sllive-ranking td:nth-child(1),.sllive-ranking th:nth-child(1){width:52px;min-width:52px}
  .sllive-ranking td:nth-child(2),.sllive-ranking th:nth-child(2){left:52px;min-width:165px}
  .sllive-matrix .sllive-sticky{min-width:158px;max-width:188px}
  .sllive-team-label{gap:6px}
  .sllive-emblem{width:24px;height:24px}
  .sllive-footer{justify-content:flex-start;margin-top:-8px}
}
@media(max-width:420px){
  .sllive-header h2{font-size:17px}
  .sllive-kicker{font-size:10px}
  .sllive-table{font-size:12px}
  .sllive-ranking td:nth-child(2),.sllive-ranking th:nth-child(2){min-width:150px}
}

/* =========================================================
   Separate shortcode test views (v0.5.6)
   [sl_live_ranking_table] / [sl_live_matrix_table]
   Existing combined shortcode styles remain unchanged.
   ========================================================= */
.sllive-root[data-view="ranking"],
.sllive-root[data-view="matrix"]{
  --sllive-area-color:#0283ff;
  --sllive-league-color:#1f57b8;
  --sllive-new-grid:#1f57b8;
  --sllive-new-white:#fff;
}
.sllive-separate-wrap{max-width:100%;margin:0}
.sllive-scroll-shell{position:relative;max-width:100%}
.sllive-scroll-shell::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:auto;
  width:1px;
  height:var(--sllive-left-rule-height,0px);
  background:var(--sllive-new-grid);
  z-index:30;
  pointer-events:none;
}
.sllive-separate-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  scrollbar-width:thin;
  scrollbar-color:#d0d6de transparent;
}
.sllive-separate-scroll::-webkit-scrollbar{height:6px!important}
.sllive-separate-scroll::-webkit-scrollbar-track{background:transparent!important}
.sllive-separate-scroll::-webkit-scrollbar-thumb{
  background:#d0d6de!important;
  border:0!important;
  border-radius:999px!important;
}
.sllive-separate-scroll:hover{scrollbar-color:var(--sllive-area-color) transparent}
.sllive-separate-scroll:hover::-webkit-scrollbar-thumb{background:var(--sllive-area-color)!important}

.sllive-separate-table{
  width:max-content!important;
  min-width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:fixed!important;
  border-top:1px solid var(--sllive-new-grid);
  border-left:0;
  background:#fff;
  font-size:14px;
}
.sllive-separate-table th,
.sllive-separate-table td{
  height:42px;
  padding:2px 4px;
  border-right:1px solid var(--sllive-new-grid)!important;
  border-bottom:1px solid var(--sllive-new-grid)!important;
  background:#fff;
  color:#111827;
  text-align:center;
  vertical-align:middle;
  white-space:nowrap;
  box-shadow:none!important;
}
.sllive-separate-table thead th{
  position:static;
  z-index:auto;
  background:var(--sllive-area-color)!important;
  color:#fff!important;
  font-size:12px;
  font-weight:700;
  line-height:1.1;
}
.sllive-separate-table tbody tr:nth-child(even)>*,
.sllive-separate-table tbody tr:hover>*{background:#fff}
.sllive-new-division-head{
  background:var(--sllive-league-color)!important;
  color:#fff!important;
  text-align:center!important;
  font-weight:700!important;
  letter-spacing:.01em;
}
.sllive-separate-emblem{
  display:block;
  width:23px;
  height:23px;
  margin:0 auto;
  object-fit:contain;
  filter:none;
}
.sllive-emblem-placeholder{display:block;width:23px;height:23px;margin:0 auto}

.sllive-separate-updated{
  margin:0 0 5px;
  color:#667085;
  font-size:11px;
  font-weight:400;
  line-height:1.4;
  text-align:right;
  white-space:nowrap;
}
.sllive-separate-status{display:block;min-height:0;margin-top:3px;color:#667085;font-size:11px;text-align:right}
.sllive-separate-status:empty{display:none}

/* Ranking: rank + emblem remain fixed, team name scrolls away. */
.sllive-new-ranking{min-width:780px!important}
.sllive-new-ranking .sllive-new-rank-fixed{
  position:sticky!important;
  left:0;
  z-index:5;
  width:44px;
  min-width:44px;
  background:#fff;
}
.sllive-new-ranking thead .sllive-new-rank-fixed{
  z-index:8;
  background:var(--sllive-area-color)!important;
  color:#fff!important;
}
.sllive-new-ranking .sllive-new-emblem-fixed{
  position:sticky!important;
  left:44px;
  z-index:4;
  width:42px;
  min-width:42px;
  padding-left:1mm;
  padding-right:1mm;
  background:#fff;
}
.sllive-new-ranking .sllive-new-emblem-fixed{border-right:0!important}
.sllive-new-ranking .sllive-new-team-name{
  width:126px;
  min-width:126px;
  max-width:126px;
  padding:3px 4px;
  text-align:left;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  white-space:normal!important;
  word-break:normal;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
.sllive-new-ranking td:not(.sllive-new-team-name){font-size:16px;font-weight:700}
.sllive-new-ranking .sllive-new-points{font-size:17px;font-weight:700}
.sllive-new-ranking .sllive-new-rank-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border:2px solid var(--sllive-league-color);
  border-radius:50%;
  background:#fff;
  color:var(--sllive-league-color);
  font-size:13px;
  font-weight:700;
}
.sllive-new-ranking .sllive-rank-badge-1{border-color:#d4af37;background:#d4af37;color:#ffffff}
.sllive-new-ranking .sllive-rank-badge-2{border-color:#64748b;background:#64748b;color:#ffffff}
.sllive-new-ranking .sllive-rank-badge-3{border-color:#a85d28;background:#a85d28;color:#ffffff}

/* League-outcome visualization.
   Uses fixed system colors independent of each area's base color. */
.sllive-new-ranking .sllive-rank-status-promotion{
  border-color:#d4af37!important;
  background:#d4af37!important;
  color:#ffffff!important;
}
.sllive-new-ranking .sllive-rank-status-relegation{
  border-color:#6b7280!important;
  background:#6b7280!important;
  color:#ffffff!important;
}
.sllive-new-ranking .sllive-rank-status-playoff-final{
  border-color:#c24174!important;
  background:#c24174!important;
  color:#ffffff!important;
}
.sllive-new-ranking .sllive-rank-status-playoff-prelim{
  border-color:#8b5e3c!important;
  background:#8b5e3c!important;
  color:#ffffff!important;
}
.sllive-new-ranking .sllive-rank-status-division-1{
  border-color:#d4af37!important;
  background:#d4af37!important;
  color:#ffffff!important;
}
.sllive-new-ranking .sllive-rank-status-division-2{
  border-color:#64748b!important;
  background:#64748b!important;
  color:#ffffff!important;
}
.sllive-new-ranking .sllive-rank-status-division-3{
  border-color:#a85d28!important;
  background:#a85d28!important;
  color:#ffffff!important;
}
.sllive-rank-rule-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:8px 12px;
  width:100%;
  margin-top:8px;
  color:#475467;
  font-size:13px;
  font-weight:500;
  line-height:1.35;
  text-align:right;
  white-space:nowrap;
}
.sllive-rank-rule-item{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.sllive-rank-rule-dot{
  display:inline-block;
  width:11px;
  height:11px;
  flex:0 0 11px;
  border:0;
  border-radius:50%;
}
.sllive-rank-rule-dot.sllive-rank-status-promotion{background:#d4af37}
.sllive-rank-rule-dot.sllive-rank-status-relegation{background:#6b7280}
.sllive-rank-rule-dot.sllive-rank-status-playoff-final{background:#c24174}
.sllive-rank-rule-dot.sllive-rank-status-playoff-prelim{background:#8b5e3c}
.sllive-rank-rule-dot.sllive-rank-status-division-1{background:#d4af37}
.sllive-rank-rule-dot.sllive-rank-status-division-2{background:#64748b}
.sllive-rank-rule-dot.sllive-rank-status-division-3{background:#a85d28}
.sllive-new-ranking th:nth-child(4),.sllive-new-ranking td:nth-child(4){width:54px;min-width:54px}
.sllive-new-ranking th:nth-child(5),.sllive-new-ranking td:nth-child(5){width:50px;min-width:50px}
.sllive-new-ranking th:nth-child(6),.sllive-new-ranking td:nth-child(6),
.sllive-new-ranking th:nth-child(7),.sllive-new-ranking td:nth-child(7),
.sllive-new-ranking th:nth-child(8),.sllive-new-ranking td:nth-child(8){width:40px;min-width:40px}
.sllive-new-ranking th:nth-child(9),.sllive-new-ranking td:nth-child(9),
.sllive-new-ranking th:nth-child(10),.sllive-new-ranking td:nth-child(10),
.sllive-new-ranking th:nth-child(11),.sllive-new-ranking td:nth-child(11){width:46px;min-width:46px}
.sllive-new-ranking th:nth-child(12),.sllive-new-ranking td:nth-child(12){width:52px;min-width:52px}
.sllive-new-ranking th:nth-child(13),.sllive-new-ranking td:nth-child(13){width:64px;min-width:64px}


/* Ranking and matrix emblem columns use exactly the same width, spacing and scroll movement. */
.sllive-new-ranking .sllive-new-emblem-fixed,
.sllive-new-matrix .sllive-new-matrix-emblem-fixed{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding-left:1mm!important;
  padding-right:1mm!important;
  box-sizing:border-box!important;
  transition:transform .16s ease;
}
.sllive-scroll-shell.is-horizontally-scrolled .sllive-new-ranking .sllive-new-emblem-fixed,
.sllive-scroll-shell.is-horizontally-scrolled .sllive-new-matrix .sllive-new-matrix-emblem-fixed{
  transform:translateX(-4px);
}

/* Matrix: emblem remains fixed, team name scrolls away. */
.sllive-new-matrix{min-width:700px!important}
.sllive-new-matrix .sllive-new-matrix-emblem-fixed{
  position:sticky!important;
  left:0;
  z-index:5;
  width:42px;
  min-width:42px;
  padding-left:1mm;
  padding-right:1mm;
  background:#fff;
}
.sllive-new-matrix .sllive-new-matrix-emblem-fixed{
  border-right:0!important;
}
.sllive-new-matrix .sllive-new-matrix-team-name{
  width:128px;
  min-width:128px;
  max-width:128px;
  padding:3px 4px;
  text-align:left;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  white-space:normal!important;
  word-break:normal;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
.sllive-new-matrix .sllive-new-opponent{
  width:88px;
  min-width:88px;
  max-width:88px;
  padding:4px 3px;
  background:var(--sllive-area-color)!important;
  color:#fff!important;
  font-size:10px;
  font-weight:700!important;
  line-height:1.15;
  white-space:normal!important;
  word-break:normal;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
.sllive-new-matrix tbody td:not(.sllive-new-matrix-emblem-fixed):not(.sllive-new-matrix-team-name){
  width:88px;
  min-width:88px;
  max-width:88px;
  height:40px;
  padding:1px;
  background:#fff;
  font-size:16px;
  font-weight:700;
}
.sllive-separate-score{display:inline-flex;justify-content:center;min-width:0;color:#111827;font-size:16px;font-weight:700;line-height:1}
.sllive-separate-pending{color:#6b7787;letter-spacing:.12em}
.sllive-new-self{
  background:linear-gradient(to top right,transparent calc(50% - .7px),#4a515c 50%,transparent calc(50% + .7px)),#f7f8fa!important;
}

/* Selected mobile scroll hint: swipe line. */
.sllive-swipe-hint{display:none}
@media(max-width:767px){
  .sllive-separate-table th,.sllive-separate-table td{height:40px}
  .sllive-new-ranking .sllive-new-rank-fixed{width:42px;min-width:42px}
  .sllive-new-ranking .sllive-new-emblem-fixed{
    left:42px;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
  }
  .sllive-new-ranking .sllive-new-team-name{width:112px;min-width:112px;font-size:12px}
  .sllive-new-matrix .sllive-new-matrix-emblem-fixed{
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
  }
  .sllive-new-matrix .sllive-new-matrix-team-name{width:112px;min-width:112px;font-size:12px}
  .sllive-new-matrix .sllive-new-opponent,
  .sllive-new-matrix tbody td:not(.sllive-new-matrix-emblem-fixed):not(.sllive-new-matrix-team-name){
    width:88px;
    min-width:88px;
    max-width:88px;
  }
  .sllive-separate-emblem,.sllive-emblem-placeholder{width:21px;height:21px}
  .sllive-swipe-hint{
    position:absolute;
    left:50%;
    top:50%;
    z-index:25;
    display:block;
    padding:4px 10px;
    border-radius:999px;
    background:#1f57b8;
    box-shadow:0 2px 10px rgba(31,87,184,.28);
    color:#fff;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,-50%) scale(.98);
    transition:opacity .28s ease,transform .28s ease;
  }
  .sllive-swipe-hint:before,.sllive-swipe-hint:after{
    content:"";
    position:absolute;
    top:50%;
    width:46px;
    height:1px;
    background:rgba(255,255,255,.78);
  }
  .sllive-swipe-hint:before{right:100%;margin-right:8px}
  .sllive-swipe-hint:after{left:100%;margin-left:8px}
  .sllive-swipe-hint.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
}


/* Use the Shining League base color for all table rules, including diagonal self-match lines. */
.sllive-new-ranking th,
.sllive-new-ranking td,
.sllive-new-matrix th,
.sllive-new-matrix td{
  border-color:#1f57b8!important;
}
.sllive-new-matrix .sllive-new-self-cell::after{
  background:#1f57b8!important;
}
.sllive-scroll-shell::before{
  background:#1f57b8!important;
}



/* 横スクロールが残っている場合の右端ガイドライン（全画面幅共通） */
.sllive-scroll-shell::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:1px;
  height:var(--sllive-left-rule-height,0px);
  background:#eeeeee;
  z-index:31;
  pointer-events:none;
  opacity:1;
  transition:opacity .15s ease;
}
.sllive-scroll-shell.is-scroll-end::after,
.sllive-scroll-shell.is-not-scrollable::after{
  opacity:0;
}

@media(max-width:720px){
  .sllive-separate-updated{
    margin-bottom:4px;
    padding-right:1px;
    font-size:10px;
  }
}


/* Ranking / results table switch links. */
.sllive-tabs-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:0 0 7px;
}
.sllive-tabs-toolbar .sllive-separate-updated{
  flex:0 0 auto;
  margin:0;
}
.sllive-tabs-nav{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  line-height:1;
}
.sllive-tab-link{
  appearance:none;
  border:0;
  border-radius:0;
  margin:0;
  padding:0;
  background:transparent;
  color:#e1262f;
  font:inherit;
  font-size:18px;
  font-weight:400;
  line-height:1.2;
  cursor:pointer;
  text-decoration:none;
}
.sllive-tab-link:hover,
.sllive-tab-link:focus-visible{
  color:#c71822;
  text-decoration:underline;
  text-underline-offset:3px;
}
.sllive-tab-link.is-active{
  font-weight:700;
}
.sllive-tab-separator{
  padding:0 5px;
  color:#e1262f;
  font-size:18px;
  line-height:1.2;
}
.sllive-tab-panel[hidden]{
  display:none!important;
}

@media(max-width:720px){
  .sllive-tabs-toolbar{
    gap:8px;
    margin-bottom:6px;
  }
  .sllive-tab-link,
  .sllive-tab-separator{
    font-size:16px;
  }
  .sllive-tab-separator{
    padding:0 3px;
  }
  .sllive-tabs-toolbar .sllive-separate-updated{
    min-width:0;
    padding-right:1px;
    font-size:10px;
  }
}


/* Restore all ranking/results table grid lines with the Shining League base color. */
.sllive-tabbed-wrap .sllive-separate-table,
.sllive-separate-wrap .sllive-separate-table{
  border-top:1px solid #1f57b8!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
}
.sllive-tabbed-wrap .sllive-separate-table th,
.sllive-tabbed-wrap .sllive-separate-table td,
.sllive-separate-wrap .sllive-separate-table th,
.sllive-separate-wrap .sllive-separate-table td{
  border-top:0!important;
  border-right:1px solid #1f57b8!important;
  border-bottom:1px solid #1f57b8!important;
  border-left:0!important;
}
.sllive-tabbed-wrap .sllive-new-ranking .sllive-new-emblem-fixed,
.sllive-separate-wrap .sllive-new-ranking .sllive-new-emblem-fixed,
.sllive-tabbed-wrap .sllive-new-matrix .sllive-new-matrix-emblem-fixed,
.sllive-separate-wrap .sllive-new-matrix .sllive-new-matrix-emblem-fixed{
  border-right:0!important;
}
.sllive-tabbed-wrap .sllive-new-matrix .sllive-new-self-cell::after,
.sllive-separate-wrap .sllive-new-matrix .sllive-new-self-cell::after{
  background:#1f57b8!important;
}
.sllive-tabbed-wrap .sllive-scroll-shell::before,
.sllive-separate-wrap .sllive-scroll-shell::before{
  background:#1f57b8!important;
}


.sllive-rank-rule-legend{
  width:100%;
  justify-content:flex-end!important;
  text-align:right;
}


@media(max-width:720px){
  .sllive-rank-rule-legend{
    gap:6px 9px;
    margin-top:7px;
    font-size:12px;
    line-height:1.3;
  }
  .sllive-rank-rule-item{
    gap:4px;
  }
  .sllive-rank-rule-dot{
    width:10px;
    height:10px;
    flex-basis:10px;
  }
}

/* =========================================================
   v0.6.2 compact tab-button refinement
   Reference: compact raised white/gray gradient button
   ========================================================= */
.sllive-tabs-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin:0 0 3px!important;
}
.sllive-tabs-nav{
  display:inline-flex;
  align-items:flex-end;
  gap:8px;
  line-height:1;
}
.sllive-tab-separator{display:none!important}
.sllive-tab-link{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  height:45px;
  margin:0;
  padding:0 18px;
  border:1px solid #ccc;
  border-radius:5px;
  background:#f1e767;
  background:-webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(top,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to bottom,#fdfbfb 0%,#ebedee 100%);
  -webkit-box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035);
  box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035);
  color:#c6c6c6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:.06em;
  text-align:center;
  cursor:pointer;
  text-decoration:none!important;
  text-shadow:0 1px 0 rgba(255,255,255,.85);
  transition:background .15s ease,box-shadow .15s ease,transform .08s ease,color .15s ease;
}
.sllive-tab-link:hover,
.sllive-tab-link:focus-visible{
  background:-webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(top,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to bottom,#fdfbfb 0%,#ebedee 100%);
  box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035);
  transform:none;
  text-decoration:none!important;
  outline:none;
}
.sllive-tab-link:focus-visible{
  box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035),0 0 0 2px rgba(2,131,255,.22);
}
/* The button sinks only while the mouse/finger is physically pressing it. */
.sllive-tab-link:active{
  background:-webkit-gradient(linear,left bottom,left top,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(bottom,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to top,#fdfbfb 0%,#ebedee 100%);
  transform:translateY(1px);
  box-shadow:inset 1px 2px 3px rgba(0,0,0,.10);
}
/* The selected table is indicated by text color only; the button remains raised. */
.sllive-tab-link.is-active{
  color:var(--sllive-area-color,#0283ff)!important;
  background:-webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(top,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to bottom,#fdfbfb 0%,#ebedee 100%);
  box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035);
  transform:none;
}
.sllive-tab-link.is-active:hover,
.sllive-tab-link.is-active:focus-visible{
  color:var(--sllive-area-color,#0283ff)!important;
  background:-webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(top,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to bottom,#fdfbfb 0%,#ebedee 100%);
  transform:none;
}
.sllive-tab-link.is-active:active{
  color:var(--sllive-area-color,#0283ff)!important;
  background:-webkit-gradient(linear,left bottom,left top,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(bottom,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to top,#fdfbfb 0%,#ebedee 100%);
  transform:translateY(1px);
  box-shadow:inset 1px 2px 3px rgba(0,0,0,.10);
}
.sllive-tabs-toolbar .sllive-separate-updated{
  align-self:flex-end;
  margin:0 0 0 auto!important;
  padding:0!important;
  line-height:1;
  text-align:right;
  white-space:nowrap;
}

/* Right-edge continuation rule: visible only while more horizontal content remains. */
.sllive-scroll-shell::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:1px;
  height:var(--sllive-left-rule-height,0px);
  background:#eeeeee;
  z-index:31;
  pointer-events:none;
  opacity:1;
  transition:opacity .15s ease;
}
.sllive-scroll-shell.is-scroll-end::after,
.sllive-scroll-shell.is-not-scrollable::after{
  opacity:0;
}

@media(max-width:720px){
  .sllive-tabs-toolbar{
    gap:8px;
    margin-bottom:3px!important;
  }
  .sllive-tabs-nav{gap:7px}
  .sllive-tab-link{
    min-width:80px;
    height:32px;
    padding:0 12px;
    border-radius:5px;
    font-size:13px;
    letter-spacing:.03em;
  }
  .sllive-tabs-toolbar .sllive-separate-updated{
    min-width:0;
    margin-bottom:0!important;
    padding-right:1px!important;
    font-size:9px;
    line-height:1;
  }
}

/* =========================================================
   v0.6.3 responsive tab-toolbar layout
   Mobile keeps the approved compact layout shown on the live site.
   Tablet and desktop use independent, balanced dimensions.
   ========================================================= */

/* Desktop: balanced controls without inheriting the compact mobile scale. */
@media (min-width:1024px){
  .sllive-tabs-toolbar{
    align-items:flex-end;
    gap:14px;
    margin:0 0 3px!important;
  }
  .sllive-tabs-nav{
    gap:9px;
  }
  .sllive-tab-link{
    width:120px;
    min-width:120px;
    height:40px;
    padding:0 16px;
    border-radius:5px;
    font-size:15px;
    letter-spacing:.04em;
  }
  .sllive-tabs-toolbar .sllive-separate-updated{
    margin:0 0 1px auto!important;
    padding:0!important;
    font-size:11px;
    line-height:1;
    text-align:right;
    white-space:nowrap;
  }
}

/* Tablet: a middle scale designed for narrower two-column layouts. */
@media (min-width:721px) and (max-width:1023px){
  .sllive-tabs-toolbar{
    align-items:flex-end;
    gap:10px;
    margin:0 0 3px!important;
  }
  .sllive-tabs-nav{
    gap:8px;
  }
  .sllive-tab-link{
    width:102px;
    min-width:102px;
    height:35px;
    padding:0 14px;
    border-radius:5px;
    font-size:14px;
    letter-spacing:.035em;
  }
  .sllive-tabs-toolbar .sllive-separate-updated{
    margin:0 0 1px auto!important;
    padding:0!important;
    font-size:10px;
    line-height:1;
    text-align:right;
    white-space:nowrap;
  }
}

/* Mobile: preserve the approved live-site proportions and placement. */
@media (max-width:720px){
  .sllive-tabs-toolbar{
    align-items:flex-end;
    gap:8px;
    margin:0 0 3px!important;
  }
  .sllive-tabs-nav{
    gap:7px;
  }
  .sllive-tab-link{
    width:80px;
    min-width:80px;
    height:32px;
    padding:0 12px;
    border-radius:5px;
    font-size:13px;
    letter-spacing:.03em;
  }
  .sllive-tabs-toolbar .sllive-separate-updated{
    min-width:0;
    margin:0 0 0 auto!important;
    padding:0 1px 0 0!important;
    font-size:9px;
    line-height:1;
    text-align:right;
    white-space:nowrap;
  }
}


/* =========================================================
   v0.6.4 precise tab/update layout tune
   Based on approved smartphone and desktop reference shots.
   ========================================================= */
.sllive-tabbed-wrap{
  --sllive-tab-width:120px;
  --sllive-tab-height:31px;
  --sllive-tab-font:14px;
  --sllive-tab-gap:10px;
  --sllive-tab-updated-font:11px;
  --sllive-tab-updated-offset:3px;
}
.sllive-tabbed-wrap .sllive-tabs-toolbar{
  display:grid!important;
  grid-template-columns:max-content 1fr max-content;
  align-items:end!important;
  column-gap:12px;
  row-gap:0;
  width:100%;
  margin:0 0 8px!important;
}
.sllive-tabbed-wrap .sllive-tabs-nav{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-self:start;
  gap:var(--sllive-tab-gap)!important;
  margin:0!important;
  padding:0!important;
}
.sllive-tabbed-wrap .sllive-tab-link{
  width:var(--sllive-tab-width)!important;
  min-width:var(--sllive-tab-width)!important;
  max-width:var(--sllive-tab-width)!important;
  height:var(--sllive-tab-height)!important;
  min-height:var(--sllive-tab-height)!important;
  padding:0 12px!important;
  border:1px solid #c8c8c8!important;
  border-radius:5px!important;
  background:#f1e767;
  background:-webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(top,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to bottom,#fdfbfb 0%,#ebedee 100%)!important;
  -webkit-box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035)!important;
  box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035)!important;
  color:#c6c6c6!important;
  font-size:var(--sllive-tab-font)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:0 1px 0 rgba(255,255,255,.85)!important;
  transform:none!important;
}
.sllive-tabbed-wrap .sllive-tab-link:hover,
.sllive-tabbed-wrap .sllive-tab-link:focus-visible{
  color:#c6c6c6!important;
  background:-webkit-gradient(linear,left top,left bottom,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(top,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to bottom,#fdfbfb 0%,#ebedee 100%)!important;
  -webkit-box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035)!important;
  box-shadow:inset 1px 1px 1px #fff,0 1px 2px rgba(0,0,0,.035)!important;
  transform:none!important;
}
.sllive-tabbed-wrap .sllive-tab-link:active{
  background:-webkit-gradient(linear,left bottom,left top,from(#fdfbfb),to(#ebedee));
  background:-webkit-linear-gradient(bottom,#fdfbfb 0%,#ebedee 100%);
  background:linear-gradient(to top,#fdfbfb 0%,#ebedee 100%)!important;
  -webkit-box-shadow:inset 1px 2px 3px rgba(0,0,0,.10)!important;
  box-shadow:inset 1px 2px 3px rgba(0,0,0,.10)!important;
  transform:translateY(1px)!important;
}
.sllive-tabbed-wrap .sllive-tab-link.is-active,
.sllive-tabbed-wrap .sllive-tab-link.is-active:hover,
.sllive-tabbed-wrap .sllive-tab-link.is-active:focus-visible{
  color:var(--sllive-area-color,#0283ff)!important;
}
.sllive-tabbed-wrap .sllive-tab-link.is-active:active{
  color:var(--sllive-area-color,#0283ff)!important;
}
.sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
  justify-self:end;
  align-self:end;
  margin:0 0 var(--sllive-tab-updated-offset) 0!important;
  padding:0!important;
  color:#8e98a6!important;
  font-size:var(--sllive-tab-updated-font)!important;
  font-weight:600!important;
  line-height:1!important;
  text-align:right!important;
  white-space:nowrap!important;
}

/* Smartphone reference */
@media (max-width:720px){
  .sllive-tabbed-wrap{
    --sllive-tab-width:80px;
    --sllive-tab-height:28px;
    --sllive-tab-font:13px;
    --sllive-tab-gap:7px;
    --sllive-tab-updated-font:9px;
    --sllive-tab-updated-offset:2px;
  }
  .sllive-tabbed-wrap .sllive-tabs-toolbar{
    column-gap:8px;
    margin:0 0 8px!important;
  }
  .sllive-tabbed-wrap .sllive-tab-link{
    padding:0 10px!important;
  }
}

/* Tablet balance */
@media (min-width:721px) and (max-width:1023px){
  .sllive-tabbed-wrap{
    --sllive-tab-width:106px;
    --sllive-tab-height:30px;
    --sllive-tab-font:14px;
    --sllive-tab-gap:9px;
    --sllive-tab-updated-font:10px;
    --sllive-tab-updated-offset:3px;
  }
}

/* Desktop reference */
@media (min-width:1024px){
  .sllive-tabbed-wrap{
    --sllive-tab-width:120px;
    --sllive-tab-height:31px;
    --sllive-tab-font:14px;
    --sllive-tab-gap:10px;
    --sllive-tab-updated-font:11px;
    --sllive-tab-updated-offset:4px;
  }
}


/* v0.6.5 last-updated right-edge alignment */
.sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
  position:relative;
  right:1px;
}
@media (max-width:720px){
  .sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
    right:1px;
  }
}
@media (min-width:721px){
  .sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
    right:1px;
  }
}


/* v0.6.6 exact rightward position adjustment for the last-updated label */
.sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
  right:auto!important;
  left:auto!important;
}
@media (max-width:720px){
  .sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
    transform:translateX(3px)!important;
  }
}
@media (min-width:721px){
  .sllive-tabbed-wrap .sllive-tabs-toolbar .sllive-separate-updated{
    transform:translateX(5px)!important;
  }
}

/* =========================================================
   v0.7.1 中四国2026：2027年度前期リーグ編成見込み
   順位数字は各グループ内順位のまま、色だけで編成見込みを示す。
   ========================================================= */
.sllive-new-ranking .sllive-rank-status-undecided{
  border-color:#a85d28!important;
  background:#a85d28!important;
  color:#ffffff!important;
}
.sllive-rank-rule-dot.sllive-rank-status-undecided{background:#a85d28}
.sllive-rank-rule-prefix{
  display:inline-block;
  flex:0 0 auto;
  white-space:nowrap;
}
.sllive-rank-rule-legend.sllive-chushikoku-outlook{
  flex-wrap:nowrap;
  gap:0 10px;
  white-space:nowrap;
}

@media(max-width:720px){
  .sllive-rank-rule-legend.sllive-chushikoku-outlook{
    flex-wrap:nowrap;
    justify-content:flex-end!important;
    gap:0 5px;
    overflow:visible;
    font-size:clamp(8px,2.45vw,11px);
    line-height:1.2;
    letter-spacing:-.025em;
    white-space:nowrap;
  }
  .sllive-chushikoku-outlook .sllive-rank-rule-item{
    gap:2px;
  }
  .sllive-chushikoku-outlook .sllive-rank-rule-dot{
    width:8px;
    height:8px;
    flex-basis:8px;
  }
}


/* =========================================================
   v0.7.2 順位区分凡例：全エリアのスマートフォン文字サイズを
   中四国の「2027前期編成見込」凡例に統一
   ========================================================= */
@media(max-width:720px){
  .sllive-rank-rule-legend{
    font-size:clamp(8px,2.45vw,11px)!important;
    line-height:1.2!important;
    letter-spacing:-.025em!important;
  }
}
