
:root{--bg:#070a11;--card:rgba(15,23,36,.94);--card2:rgba(22,33,49,.94);--starter:rgba(239,196,66,.12);--line:rgba(255,255,255,.11);--line2:rgba(239,196,66,.42);--text:#f0f4f8;--muted:#aeb8c6;--yellow:#efc442;--shadow:0 18px 46px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{background:#070a11;scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",system-ui,sans-serif;background:radial-gradient(circle at 12% 0%,rgba(47,63,98,.42),transparent 36%),radial-gradient(circle at 90% 90%,rgba(46,57,78,.35),transparent 34%),linear-gradient(180deg,#070a11 0%,#0b111b 100%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}
.site-header{max-width:1180px;margin:0 auto;padding:26px 18px 16px}.brand{display:block;text-align:center}.logo-mark{display:none}h1{margin:0;font-size:clamp(30px,7vw,56px);letter-spacing:-.045em;line-height:1.03}.subtitle{margin:8px 0 0;color:var(--muted);font-size:14px}
.nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;justify-content:center}.nav a{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:999px;padding:8px 12px;color:#dfe6ee;font-weight:800;font-size:13px}.nav a:hover{border-color:rgba(239,196,66,.65)}
.container{max-width:1180px;margin:0 auto;padding:14px 18px 52px}.intro-hint{max-width:680px;margin:12px auto 0;color:#d6dee8;font-size:14px;line-height:1.55;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:14px;padding:10px 12px;text-align:center}.section-title{font-size:22px;margin:20px 0 18px}

.group-link-grid-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.group-link-card{display:block;background:linear-gradient(180deg,rgba(20,31,47,.96),rgba(13,20,31,.96));border:1px solid var(--line);border-radius:20px;padding:15px;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease}
.group-link-card:hover{transform:translateY(-2px);border-color:rgba(239,196,66,.55)}
.group-link-title{font-size:23px;font-weight:950;letter-spacing:-.02em;margin-bottom:12px;color:#f5f8fb}
.country-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.country-chip{display:flex;align-items:center;gap:6px;min-width:0;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 8px;font-size:12px;font-weight:750;color:#edf2f7}
.country-chip span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.country-flag-img{width:22px;height:15px;min-width:22px;border-radius:2px;object-fit:cover;border:1px solid rgba(255,255,255,.22);background:#111925}
.flag-missing{display:inline-block}

.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.group-card{background:linear-gradient(180deg,rgba(20,31,47,.96),rgba(13,20,31,.96));border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease}.group-card:hover{transform:translateY(-3px);border-color:rgba(239,196,66,.55)}.group-thumb{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:#111925}.group-meta{padding:15px 16px 17px}.group-meta h2{margin:0 0 8px;font-size:22px}.country-list{display:flex;flex-wrap:wrap;gap:6px}.country-pill{font-size:12px;color:#edf2f7;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:5px 8px}
.group-detail{scroll-margin-top:18px;margin-top:46px;padding-top:4px}.group-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.group-title{font-size:34px;line-height:1.05;margin:0;letter-spacing:-.035em}.top-page-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(239,196,66,.46);background:rgba(239,196,66,.10);color:var(--yellow);border-radius:999px;padding:8px 11px;font-weight:900;font-size:12px;white-space:nowrap}.hero-image{width:100%;max-width:620px;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);display:block}.detail-head{display:flex;align-items:flex-start;gap:26px;margin-bottom:18px}.detail-note{color:var(--muted);font-size:13px;margin-top:8px}.top-link{display:inline-flex;margin-top:12px;color:var(--yellow);font-weight:900}
.country-carousel{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 2px 14px;margin-inline:-2px}.country-carousel::-webkit-scrollbar{height:8px}.country-carousel::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}.country-carousel::-webkit-scrollbar-thumb{background:rgba(239,196,66,.45);border-radius:999px}.country-section{scroll-snap-align:start;flex:0 0 calc(50% - 7px);background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}.country-header{padding:11px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center}.country-header h3{margin:0;font-size:19px}.formation-badge{background:var(--yellow);color:#111827;font-weight:900;border-radius:999px;padding:5px 9px;white-space:nowrap;font-size:12px}
.roster-block{padding:8px}.roster-label{font-size:10px;letter-spacing:.12em;color:var(--yellow);font-weight:950;margin:5px 2px 6px}.player-list{display:grid;grid-template-columns:1fr;gap:5px}.player-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:7px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035);padding:5px 7px}.player-card.starter{background:linear-gradient(90deg,rgba(239,196,66,.15),rgba(255,255,255,.035));border-color:var(--line2)}.pos-badge{width:35px;text-align:center;background:rgba(239,196,66,.92);color:#121826;border-radius:8px;padding:4px 3px;font-size:10px;font-weight:950}.player-card.bench-gk .pos-badge{background:#72d6ff;color:#08131b}.player-card.bench-df .pos-badge{background:#63d08c;color:#07170d}.player-card.bench-mf .pos-badge{background:#b99cff;color:#160b2d}.player-card.bench-fw .pos-badge{background:#ff8f70;color:#2a0c05}.player-main{min-width:0}.player-name{font-size:13px;font-weight:900;line-height:1.12;white-space:normal;overflow-wrap:anywhere}.meta-line{margin-top:2px;color:#dce5ef;font-size:10.5px;line-height:1.13;display:flex;align-items:center;gap:5px;min-width:0}.club-league-wrap{margin-top:3px;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:6px;align-items:center}.flag-img{display:block;width:30px;height:20px;min-width:30px;border-radius:4px;object-fit:cover;object-position:center;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 1px rgba(0,0,0,.16);background:#111925;grid-row:1/3}.club-line,.league-line{font-size:10.5px;line-height:1.14;color:#dce5ef;overflow-wrap:anywhere;min-width:0}.league-line{color:#eef4f9}.club,.league{overflow-wrap:anywhere}.footer{max-width:1180px;margin:0 auto;padding:0 18px 40px;color:var(--muted);font-size:12px}
@media(max-width:980px){.group-link-grid-wrap{grid-template-columns:repeat(2,1fr)}.group-grid{grid-template-columns:repeat(2,1fr)}.detail-head{display:block}.hero-image{max-width:100%;}.country-section{flex-basis:78%}}
@media(max-width:640px){.site-header{padding-top:22px}.group-link-grid-wrap{grid-template-columns:1fr;gap:12px}.group-grid{grid-template-columns:1fr;gap:16px}.container{padding-inline:14px}.site-header{padding-inline:14px}.group-detail{margin-top:38px}.group-title{font-size:30px}.detail-note{font-size:12px}.country-carousel{gap:10px;padding-bottom:12px}.country-section{flex-basis:88%}.country-header{padding:10px 12px}.roster-block{padding:7px}.player-card{grid-template-columns:35px minmax(0,1fr);gap:6px;padding:4px 6px}.pos-badge{width:32px;font-size:9.5px}.player-name{font-size:12.3px}.meta-line{font-size:9.8px}.flag-img{width:28px;height:18px;min-width:28px}.club-line,.league-line{font-size:9.7px}.top-page-btn{font-size:11px;padding:7px 9px}.intro-hint{font-size:13px;padding:9px 10px}}

.flag-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;background:rgba(255,255,255,.06)}

.title-link{color:inherit;text-decoration:none}.title-link:hover{color:#fff;text-decoration:none}

.top-page-btn{display:none!important}


@media (min-width: 981px){
  .site-header{padding-top:30px}
  .group-detail{margin-top:42px}
  .group-detail .group-title-row{display:none}
  .lineup-card{max-width:980px;margin-left:auto;margin-right:auto}
  .lineup-image{display:block;margin-left:auto;margin-right:auto;width:100%;height:auto}
  .swipe-hint{display:none!important}
  .roster-carousel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:visible;scroll-snap-type:none;padding-bottom:0}
  .country-roster{min-width:0;scroll-snap-align:unset}
  .country-header{padding:9px 10px}
  .country-header h3{font-size:17px}
  .formation-badge{font-size:11px;padding:4px 8px}
  .roster-block{padding:6px}
  .roster-label{font-size:9px;margin:4px 2px 5px}
  .player-list{gap:4px}
  .player-card{grid-template-columns:32px minmax(0,1fr);gap:5px;padding:4px 5px;border-radius:10px}
  .pos-badge{width:29px;font-size:8.8px;padding:3px 2px;border-radius:7px}
  .player-name{font-size:10.8px;line-height:1.08}
  .club-league-wrap{grid-template-columns:24px minmax(0,1fr);column-gap:5px;margin-top:2px}
  .flag-img{width:24px;height:16px;min-width:24px}
  .club-line,.league-line{font-size:8.5px;line-height:1.06}
}
@media (min-width: 1280px){
  .container{max-width:1360px}
  .lineup-card{max-width:1060px}
  .roster-carousel{gap:14px}
  .player-name{font-size:11.5px}
  .club-line,.league-line{font-size:9px}
}


.desktop-word{display:none}@media (min-width:981px){.mobile-word{display:none}.desktop-word{display:inline}}

/* ===== v13 final overrides: shared header + desktop layout ===== */
.title-link{color:inherit!important;text-decoration:none!important}
.title-link:hover{color:#fff!important;text-decoration:none!important}
.top-page-btn{display:none!important}
.desktop-word{display:none}
@media (min-width:981px){.mobile-word{display:none!important}.desktop-word{display:inline!important}}

/* group page header */
.page-header{padding:30px 18px 20px;text-align:center}
.page-header .title{font-size:44px;line-height:1;letter-spacing:-.045em;margin:0}
.page-header .subtitle{margin:10px 0 0;color:#aab7c7;font-weight:700}

/* remove duplicate group title row before images */
.group-title-row{display:none!important}

/* PC group page layout */
@media (min-width:981px){
  .container{max-width:1420px!important}
  .group-detail{margin-top:24px!important}
  .lineup-card{max-width:1060px!important;margin:0 auto 28px!important;display:block!important}
  .lineup-card img,.lineup-image{display:block!important;width:100%!important;height:auto!important;margin-left:auto!important;margin-right:auto!important}
  .swipe-hint,.carousel-hint,.roster-hint{display:none!important}
  .roster-carousel{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important}
  .country-roster{min-width:0!important;width:auto!important;max-width:none!important;scroll-snap-align:unset!important}
  .country-header{padding:8px 9px!important}
  .country-header h3{font-size:16px!important}
  .formation-badge{font-size:10.5px!important;padding:4px 7px!important}
  .roster-block{padding:6px!important}
  .roster-label{font-size:9px!important;margin:4px 2px 5px!important}
  .player-list{gap:4px!important}
  .player-card{grid-template-columns:31px minmax(0,1fr)!important;gap:5px!important;padding:4px 5px!important;border-radius:9px!important}
  .pos-badge{width:28px!important;font-size:8.5px!important;padding:3px 2px!important;border-radius:7px!important}
  .player-name{font-size:10.6px!important;line-height:1.08!important}
  .club-league-wrap{grid-template-columns:23px minmax(0,1fr)!important;column-gap:5px!important;margin-top:2px!important}
  .flag-img{width:23px!important;height:15px!important;min-width:23px!important}
  .club-line,.league-line{font-size:8.4px!important;line-height:1.06!important}
}
@media (min-width:1280px){
  .page-header .title{font-size:50px}
  .lineup-card{max-width:1120px!important}
  .roster-carousel{gap:14px!important}
  .player-name{font-size:11px!important}
  .club-line,.league-line{font-size:8.8px!important}
}

/* ===== v13b robust production overrides ===== */
.title-link{color:inherit!important;text-decoration:none!important}
.title-link:hover{color:#fff!important;text-decoration:none!important}
.page-header{padding:30px 18px 20px;text-align:center}
.page-header .title{font-size:44px;line-height:1;letter-spacing:-.045em;margin:0}
.page-header .subtitle{margin:10px 0 0;color:#aab7c7;font-weight:700}
.top-page-btn,.top-link,.group-title-row{display:none!important}
.detail-note{display:none!important}
.desktop-word{display:none}
@media (min-width:981px){.mobile-word{display:none!important}.desktop-word{display:inline!important}}

@media (min-width:981px){
  .container{max-width:1420px!important}
  .group-detail{margin-top:24px!important}
  .hero-image,.lineup-image{display:block!important;max-width:1060px!important;width:100%!important;height:auto!important;margin:0 auto 28px!important}
  .country-carousel,.roster-carousel{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important}
  .country-section,.country-roster{min-width:0!important;width:auto!important;max-width:none!important;scroll-snap-align:unset!important}
  .country-header{padding:8px 9px!important}
  .country-header h3{font-size:16px!important}
  .formation-badge{font-size:10.5px!important;padding:4px 7px!important}
  .roster-block{padding:6px!important}
  .roster-label{font-size:9px!important;margin:4px 2px 5px!important}
  .player-list{gap:4px!important}
  .player-card{grid-template-columns:31px minmax(0,1fr)!important;gap:5px!important;padding:4px 5px!important;border-radius:9px!important}
  .pos-badge{width:28px!important;font-size:8.5px!important;padding:3px 2px!important;border-radius:7px!important}
  .player-name{font-size:10.6px!important;line-height:1.08!important}
  .club-league-wrap{grid-template-columns:23px minmax(0,1fr)!important;column-gap:5px!important;margin-top:2px!important}
  .flag-img{width:23px!important;height:15px!important;min-width:23px!important}
  .club-line,.league-line{font-size:8.4px!important;line-height:1.06!important}
}
@media (min-width:1280px){
  .page-header .title{font-size:50px}
  .hero-image,.lineup-image{max-width:1120px!important}
  .country-carousel,.roster-carousel{gap:14px!important}
  .player-name{font-size:11px!important}
  .club-line,.league-line{font-size:8.8px!important}
}

/* ===== v15 mobile title + hint fixes ===== */
/* Keep group-page header title balanced on smartphone, same family/scale as top page */
.page-header .title{
  font-size:clamp(30px,7vw,56px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
  margin:0!important;
}

/* Hint should exist on mobile, but disappear on PC */
.detail-note{
  display:block!important;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  margin:10px 0 10px;
  text-align:center;
}
@media (min-width:981px){
  .detail-note{display:none!important}
}
