/* =========================================================
   IKOMA SCRIM（scrim/ 以下だけで読み込み）
   ========================================================= */
.scrim-hero{background:var(--ink);color:#fff;padding-block:clamp(48px,7vw,96px);position:relative;overflow:hidden}
.scrim-hero::after{content:"SCRIM";position:absolute;right:-.06em;bottom:-.28em;font-family:var(--latin);font-weight:700;font-size:clamp(120px,22vw,300px);line-height:1;color:rgba(255,255,255,.04);pointer-events:none;letter-spacing:-.04em}
.scrim-hero .wrap{position:relative;z-index:1;display:grid;gap:18px}
.scrim-hero .eyebrow{color:#ffb59c}
.scrim-hero h1{font-size:clamp(34px,6vw,68px);line-height:1.2}
.scrim-hero h1 em{font-style:normal;color:var(--off)}
.scrim-hero .lead{color:#c3cad2}
.scrim-hero .btn-ghost{color:#fff}
.back-link{color:#c3cad2;text-decoration:none;font-size:14px}
.back-link:hover{color:#fff}

/* 数字の帯 */
.scrim-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;border-top:1px solid #34414e;max-width:640px}
.scrim-stats div{padding:16px 16px 0 0;display:grid}
.scrim-stats div + div{padding-left:16px;border-left:1px solid #34414e}
.scrim-stats b{font-family:var(--latin);font-size:clamp(28px,4vw,40px);line-height:1.1}
.scrim-stats span{font-size:13px;color:#b4bec8}

/* クラス（階段） */
.classes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:c}
.class-card{position:relative;background:var(--white);padding:26px 26px 26px 30px;display:grid;gap:8px;align-content:start;border-top:6px solid var(--cc)}
.class-card + .class-card{border-left:1px solid var(--line)}
.class-card:first-child{border-radius:var(--radius) 0 0 var(--radius)}
.class-card:last-child{border-radius:0 var(--radius) var(--radius) 0}
.class-card .lv{font-family:var(--latin);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--cc)}
.class-card h3{font-family:var(--latin);font-size:28px;letter-spacing:.02em}
.class-card .up{font-size:14px;color:var(--sub);border-top:1px dashed var(--line);padding-top:10px;margin-top:6px}
.class-card + .class-card::before{content:"";position:absolute;left:-13px;top:50%;width:24px;height:24px;background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:translateY(-50%) rotate(45deg);z-index:1}
.cc-open{--cc:#6b7785}.cc-challenge{--cc:var(--off)}.cc-elite{--cc:#b8860b}
@media (max-width:820px){
  .classes{grid-template-columns:1fr;gap:14px}
  .class-card,.class-card:first-child,.class-card:last-child{border-radius:var(--radius)}
  .class-card + .class-card{border-left:0}
  .class-card + .class-card::before{display:none}
}

/* クラスのラベル */
.cls{display:inline-block;font-family:var(--latin);font-weight:700;font-size:11px;letter-spacing:.1em;padding:2px 9px;border-radius:999px;color:#fff;background:#6b7785}
.cls-challenge{background:var(--off)}
.cls-elite{background:#b8860b}

/* 結果の一覧 */
.scrim-list{display:grid;gap:10px}
.scrim-row{display:grid;grid-template-columns:6.5em 7.5em 1fr minmax(0,16em) auto;gap:16px;align-items:center;background:var(--white);border-radius:14px;padding:16px 20px;text-decoration:none;border-left:5px solid var(--line);transition:transform .15s,box-shadow .15s}
.scrim-row:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.scrim-row.st-live{border-left-color:var(--off)}
.scrim-row.st-upcoming{border-left-color:var(--on)}
.sr-status{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--paper-2);color:var(--sub);text-align:center}
.st-live .sr-status{background:var(--off);color:#fff}
.st-upcoming .sr-status{background:var(--on-soft);color:var(--on-ink)}
.sr-date{font-weight:700;font-size:20px;line-height:1.2;display:grid}
.sr-date small{font-family:var(--body);font-size:12px;font-weight:500;color:var(--sub)}
.sr-main{display:grid;gap:4px;min-width:0}
.sr-main b{font-family:var(--display);font-size:17px}
.sr-tags{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:13px;color:var(--sub)}
.sr-top{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-top small{display:block;font-size:11px;color:var(--sub);font-weight:500}
.sr-go{font-family:var(--latin);color:var(--c);font-weight:700}
@media (max-width:760px){
  .scrim-row{grid-template-columns:auto 1fr auto;gap:6px 14px;padding:14px 16px}
  .sr-status{grid-column:1/-1;justify-self:start}
  .sr-main{grid-column:2}.sr-date{grid-row:2;grid-column:1}
  .sr-top{grid-column:1/-1;white-space:normal}
  .sr-go{grid-row:2;grid-column:3}
}

/* 絞り込み */
.scrim-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.scrim-filter a{padding:6px 16px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:14px;background:var(--white)}
.scrim-filter a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}

/* 順位表 */
.board-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}
.match-tabs{display:flex;flex-wrap:wrap;gap:6px}
.match-tabs a{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-size:14px;text-decoration:none;font-weight:500}
.match-tabs a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.board-search{font:inherit;font-size:15px;padding:9px 14px 9px 38px;border:1px solid var(--line);border-radius:999px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2356616c' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 4 4'/%3E%3C/svg%3E") 14px 50% no-repeat;min-width:240px}
.board-search:focus{outline:2px solid var(--c);border-color:var(--c)}
.board-wrap{background:var(--white);border-radius:var(--radius);overflow-x:auto}
.board{width:100%;border-collapse:collapse;font-size:15px}
.board th{font-size:12px;font-weight:700;color:var(--sub);text-align:right;padding:14px 16px;border-bottom:2px solid var(--ink);white-space:nowrap}
.board th:nth-child(1),.board th:nth-child(2){text-align:left}
.board td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
.board td.rank{text-align:left;width:4em}
.board td.names{text-align:left;font-weight:700;line-height:1.6}
.board td.names span{display:block}
.board td.pts{font-family:var(--latin);font-weight:700;font-size:18px}
.board tr:last-child td{border-bottom:0}
.board .num{font-family:var(--latin)}
.rk{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--paper-2);font-family:var(--latin);font-weight:700;font-size:15px}
.rk-1{background:#f4c542;color:#3b2b00}
.rk-2{background:#cfd6dd;color:#26303a}
.rk-3{background:#e3a472;color:#3d1f06}
.board tr.is-up td.rank .rk{box-shadow:0 0 0 2px var(--off)}
@media (max-width:600px){.board .opt{display:none}.board th,.board td{padding:10px 8px}.board td.rank{width:auto}.board-search{min-width:0;width:100%}}
.board-empty{padding:40px 20px;text-align:center;color:var(--sub)}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--sub);margin-top:12px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:4px;box-shadow:0 0 0 2px var(--off);margin-right:6px;vertical-align:-1px}

/* 説明ボックス */
.scrim-info{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}
.scrim-info .card p{white-space:pre-line}
@media (max-width:820px){.scrim-info{grid-template-columns:1fr}}
.pt-table{display:flex;flex-wrap:wrap;gap:6px}
.pt-table span{background:var(--paper);border-radius:8px;padding:4px 10px;font-size:13px}
.pt-table b{font-family:var(--latin);margin-left:6px}

/* ---- SKY THEME 対応（2026.09） ---- */
.sky-card .scrim-stats{border-top-color:rgba(13,15,20,.18)}
.sky-card .scrim-stats div + div{border-left-color:rgba(13,15,20,.18)}
.sky-card .scrim-stats span{color:#10233a}
.sky-card .scrim-stats b{font-family:var(--latin);font-weight:400}
.scrim-band{display:grid;gap:14px}
.scrim-band .back-link{color:#10233a;font-weight:700}
.scrim-band .eyebrow{color:var(--ink)}
.scrim-band .sr-tags{color:#10233a}
.class-card h3{font-family:var(--latin);font-weight:400}
.sr-date{font-family:var(--latin);font-weight:400}
.board td.pts{font-family:var(--latin);font-weight:400}
.rk{font-family:var(--latin);font-weight:400}
.cls{font-family:var(--latin);font-weight:400}
.cls-challenge{background:var(--pink)}
.scrim-row.st-live{border-left-color:var(--pink)}
.st-live .sr-status{background:var(--pink)}
.board tr.is-up td.rank .rk{box-shadow:0 0 0 2px var(--pink)}
.legend i{box-shadow:0 0 0 2px var(--pink)}
.scrim-row,.board-wrap{border:1px solid var(--line)}
.cc-challenge{--cc:var(--pink)}

/* ---- ソロ／デュオの切りかえ ---- */
.mode-tabs{display:inline-flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px;margin-bottom:18px}
.mode-tabs a{display:inline-flex;align-items:baseline;gap:8px;padding:10px 26px;border-radius:999px;text-decoration:none;font-weight:900;font-size:16px}
.mode-tabs a .en{font-family:var(--latin);font-size:11px;letter-spacing:.14em;color:var(--sub)}
.mode-tabs a[aria-current]{background:var(--ink);color:#fff}
.mode-tabs a[aria-current] .en{color:var(--sky)}
.md{font-weight:900;padding:1px 10px;border-radius:999px;background:var(--sky-soft);color:var(--on-ink)}
.md-solo{background:#fff4d6;color:#8a5a00}
.rank-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px}
.rank-title{display:flex;align-items:baseline;gap:10px;font-size:20px;margin-bottom:12px}
.rank-title .en{font-family:var(--latin);font-weight:400;font-size:28px;letter-spacing:-.01em}
@media (max-width:420px){.rank-cols{grid-template-columns:1fr}}

/* 回の種類（WEEKLY / MONTHLY / FINAL） */
.tp{display:inline-block;font-family:var(--latin);font-size:11px;letter-spacing:.1em;padding:2px 9px;border-radius:999px;border:1.5px solid currentColor;color:#3a6fa0;background:#fff}
.tp-monthly{color:var(--pink)}
.tp-final{color:#fff;background:var(--ink);border-color:var(--ink)}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.type-card{background:#fff;border-radius:22px;padding:24px;border:1px solid var(--line)}
.type-card .lv{font-family:var(--latin);font-size:12px;letter-spacing:.14em;color:var(--sub)}
.type-card h3{font-family:var(--latin);font-weight:400;font-size:30px;line-height:1;margin:6px 0 4px}
.type-card .pt{display:inline-block;margin:10px 0 8px;font-weight:900;background:var(--sky-mist,#eef7ff);border-radius:999px;padding:4px 12px}
.type-card.is-monthly{border:2px solid var(--pink)}
.type-card.is-final{background:var(--ink);color:#fff}
.type-card.is-final .lv,.type-card.is-final .muted{color:#b9c6d4}
.type-card.is-final .pt{background:#2a3440}
@media (max-width:860px){.types{grid-template-columns:1fr}}
.pt-chips{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.pt-chips li{display:grid;justify-items:center;background:var(--sky-mist,#eef7ff);border-radius:14px;padding:8px 6px;line-height:1.3}
.pt-chips span{font-size:12px;color:var(--sub)}
.pt-chips b{font-family:var(--latin);font-weight:400;font-size:22px}
.pt-chips .kill{background:#fde6ee}
.section-sky .pt-chips li{background:#fff}

/* ランキングのタブ（S1 / S2 / 総合 / 年間MVP） */
.rank-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px;margin:18px 0 14px}
.rank-tabs a{text-align:center;padding:12px 6px;border-radius:12px;font-weight:900;font-size:14px;text-decoration:none;color:var(--ink)}
.rank-tabs a[aria-current]{background:var(--ink);color:#fff}
.rank-tabs a.is-mvp[aria-current]{background:var(--pink)}
@media (max-width:560px){.rank-tabs{grid-template-columns:1fr 1fr}.rank-tabs a{font-size:13px;padding:10px 4px}}
.rank-note{background:var(--sky-mist,#eef7ff);border-radius:14px;padding:12px 16px;margin:10px 0 14px;font-size:14px;line-height:1.8}
.board .names a{color:inherit;text-decoration:none;border-bottom:1px dashed #b9c6d4}
.board .names a:hover{color:var(--pink);border-color:var(--pink)}
.board .names .sub{display:block;font-size:11px;color:var(--sub);font-weight:500}
/* 選手ページ：1試合平均スコアの推移（1系列の棒グラフ） */
.avg-chart{display:flex;align-items:flex-end;gap:6px;height:220px;padding:10px 4px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.avg-chart .bar{flex:1 0 34px;max-width:64px;height:100%;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:end;outline:none}
.avg-chart .bar i{display:block;width:60%;background:#3a8fd6;border-radius:4px 4px 0 0;align-self:end}
.avg-chart .bar.is-off i{background:#bcd8f0}
.avg-chart .bar:hover i,.avg-chart .bar:focus i{background:var(--pink)}
.avg-chart .v{font-size:11px;color:var(--sub)}
.avg-chart .d{font-size:11px;color:var(--sub);padding:4px 0}
.mvp-parts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.mvp-parts li{background:#fff;border-radius:16px;padding:14px;display:grid;gap:4px}
.mvp-parts span{font-size:13px;color:var(--sub)}
.mvp-parts b{font-family:var(--latin);font-weight:400;font-size:28px}
.mvp-parts .sum{background:var(--pink);color:#fff}.mvp-parts .sum span{color:#ffe3ec}
/* 2つのポイント（トップページ） */
.two-points{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.two-points .pp{background:#fff;border-radius:24px;padding:26px;border:1px solid var(--line)}
.two-points .pp.is-mvp{border:2px solid var(--pink)}
.two-points h3{font-family:var(--latin);font-weight:400;font-size:30px;line-height:1;margin:6px 0}
.two-points ul{padding-left:1.2em;margin-top:10px;font-size:14px;line-height:1.9}
@media (max-width:760px){.two-points{grid-template-columns:1fr}}
.csv-raw{font-size:12px}
.csv-raw td,.csv-raw th{white-space:nowrap}
.board td.rank{white-space:nowrap}

.rank-tabs-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:560px){.rank-tabs-3{grid-template-columns:1fr 1fr 1fr}.rank-tabs-3 a{font-size:12px}}
.pt-box{background:var(--sky-mist,#eef7ff);border-radius:18px;padding:14px 16px;margin:12px 0 16px}
.pt-box .pt-cap{font-size:13px;font-weight:900;margin:0 0 8px}
.pt-box .pt-chips li{background:#fff}
.pt-box .pt-chips .kill{background:#fde6ee}
.perfect{display:inline-block;font-size:10px;font-weight:900;color:#fff;background:var(--pink);border-radius:999px;padding:1px 8px;vertical-align:2px;border:0!important}
.board td.season-pt{font-weight:900;color:var(--pink)}
.board td.names .perfect{display:inline-block}

.point-facts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.point-facts li{background:#fff;border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.7}
.point-facts b{display:block;font-size:15px}
@media (max-width:760px){.point-facts{grid-template-columns:1fr}}

.board .pts .adj{display:block;font-size:10px;font-weight:700;color:var(--pink);white-space:normal;line-height:1.3}
