/* Visual identities for the individual competition pages only. */

/* Y League — measured, technical and data-led. */
html body .yl-page,
html body .yls-page.yls-csv{
  --yl-tech:#c8ff16;
  --yl-deep:#071426;
  --yl-grid:rgba(7,20,38,.07);
  background-color:#f4f7f3;
  background-image:linear-gradient(var(--yl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--yl-grid) 1px,transparent 1px);
  background-size:32px 32px;
}
html body .yl-page .yl-hero,
html body .yls-page.yls-csv .yls-hero{
  position:relative;
  isolation:isolate;
  color:#fff!important;
  background-color:var(--yl-deep)!important;
  background-image:linear-gradient(90deg,rgba(7,20,38,.98) 0%,rgba(7,20,38,.88) 48%,rgba(7,20,38,.28) 100%),url("https://youfo.or.jp/wp-content/uploads/2026/02/160025-18-9ec9f2ae7192369a8b74c9ce7cbd1812-3900x2600-1.webp")!important;
  background-position:center!important;
  background-size:cover!important;
  overflow:hidden;
}
html body .yl-page .yl-hero:before,
html body .yls-page.yls-csv .yls-hero:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(200,255,22,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(200,255,22,.09) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(90deg,#000 0%,transparent 78%);
}
html body .yl-page .yl-hero :is(h1,p,.yl-eyebrow),
html body .yls-page.yls-csv .yls-hero :is(h1,h2,h3,p,span,strong){color:#fff!important}
html body .yl-page .yl-hero h1,
html body .yls-page.yls-csv .yls-hero h1{font-family:"Arial Narrow",Arial,sans-serif!important;text-transform:uppercase;letter-spacing:-.045em!important}
html body .yl-page .yl-current-season{position:relative;z-index:3;margin-top:-1px;background:var(--yl-tech);color:var(--yl-deep);border-bottom:1px solid var(--yl-deep)}
html body .yl-page .yl-current-season__inner{display:grid;grid-template-columns:auto minmax(180px,.7fr) minmax(260px,1.3fr) auto;gap:clamp(1.2rem,3vw,3rem);align-items:center;padding-block:1.35rem}
html body .yl-page .yl-current-season__status{display:flex;align-items:center;gap:.55rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:900;letter-spacing:.12em;white-space:nowrap}
html body .yl-page .yl-current-season__pulse{width:9px;height:9px;border-radius:50%;background:#f34d3f;box-shadow:0 0 0 5px rgba(243,77,63,.18)}
html body .yl-page .yl-current-season__copy{padding-left:1.1rem;border-left:1px solid rgba(7,20,38,.35)}
html body .yl-page .yl-current-season__copy p{margin:0 0 .2rem;color:var(--yl-deep)!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;font-weight:900;letter-spacing:.1em}
html body .yl-page .yl-current-season__copy h2{margin:0;color:var(--yl-deep)!important;font-size:clamp(1.35rem,2.3vw,2rem)!important;line-height:1!important}
html body .yl-page .yl-current-season__copy>span{display:block;margin-top:.35rem;font-size:.75rem;font-weight:800}
html body .yl-page .yl-current-season__lead{margin:0;color:var(--yl-deep)!important;font-size:.9rem;font-weight:700;line-height:1.65}
html body .yl-page .yl-current-season__actions{display:flex;gap:.55rem}
html body .yl-page .yl-current-season__actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:48px;padding:0 1rem;border:1px solid var(--yl-deep);color:var(--yl-deep)!important;font-size:.76rem;font-weight:900;white-space:nowrap}
html body .yl-page .yl-current-season__actions .yl-current-season__primary{background:var(--yl-deep)!important;color:#fff!important}
html body .yl-page .yl-current-season__actions .yl-current-season__primary :is(span,strong){color:#fff!important}
html body .yl-page .yl-current-season__actions .yl-current-season__primary:hover{background:#122b47!important;color:#fff!important}
html body .yl-page .yl-current-season__secondary:hover{background:rgba(7,20,38,.1)}
html body .yl-page .yl-eyebrow,
html body .yls-page.yls-csv .yls-kicker{display:inline-flex;padding:.45rem .65rem;border:1px solid var(--yl-tech);color:var(--yl-tech)!important;background:rgba(7,20,38,.72);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}
html body .yl-page :is(.yl-section,.yl-vitality,.yl-score,.yl-final-cta),
html body .yls-page.yls-csv .yls-section{background:transparent!important}
html body .yl-page :is(.yl-section,.yl-vitality,.yl-score,.yl-final-cta) h2,
html body .yls-page.yls-csv .yls-section h2{padding-top:.65rem;border-top:3px solid var(--yl-deep);font-family:"Arial Narrow",Arial,sans-serif!important;letter-spacing:-.035em!important}
html body .yl-page :is(.yl-info-card,.yl-entry-card,.yl-score-card,.yl-news-item),
html body .yls-page.yls-csv :is(.yls-podium-card,.yls-match-card,.yls-summary-card,.yls-table-wrap){border:1px solid rgba(7,20,38,.18)!important;border-radius:2px!important;background:rgba(255,255,255,.94)!important;box-shadow:6px 6px 0 rgba(7,20,38,.08)!important}
html body .yls-page.yls-csv .yls-hero .yls-summary-card{background:rgba(7,20,38,.9)!important;border-color:var(--yl-tech)!important;box-shadow:5px 5px 0 rgba(200,255,22,.2)!important}
html body .yls-page.yls-csv .yls-hero .yls-summary-card :is(h3,p,span,strong,b,small){color:#fff!important}
html body .yls-page.yls-csv .yls-table th{background:var(--yl-deep)!important;color:#fff!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
html body .yls-page.yls-csv .yls-empty{border:1px solid rgba(7,20,38,.24)!important;border-left:5px solid var(--yl-tech)!important;background:#fff!important;color:var(--yl-deep)!important;box-shadow:6px 6px 0 rgba(7,20,38,.08)!important}
html body .yls-page.yls-csv .yls-empty :is(h2,p,span,strong){color:var(--yl-deep)!important}
html body .yls-page.yls-csv :is(.yls-podium-card,.yls-summary-card) strong,
html body .yl-page :is(.yl-point-card,.yl-time-card) strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
html body .yl-page .yl-point-card{background:var(--yl-deep)!important;border-color:var(--yl-deep)!important;color:#fff!important}
html body .yl-page .yl-point-card :is(span,strong,small,p){color:#fff!important}
html body .yl-page .yl-phone{color:#fff!important;background:linear-gradient(180deg,#071426,#0d1724)!important;border-color:rgba(200,255,22,.52)!important;box-shadow:0 24px 64px rgba(7,20,38,.28)!important}
html body .yl-page .yl-phone__top{color:var(--yl-tech)!important}
html body .yl-page .yl-phone__circle{border-color:var(--yl-tech)!important;box-shadow:0 0 36px rgba(200,255,22,.25)!important}
html body .yl-page .yl-phone__circle strong{color:var(--yl-tech)!important}
html body .yl-page .yl-phone__circle span{color:#fff!important}
html body .yl-page .yl-phone__row span{color:#cbd5e1!important}
html body .yl-page .yl-phone__row strong{color:#fff!important}
html body .yl-page .yl-phone__bar{background:#344153!important}
html body .yl-page .yl-phone__bar span{background:var(--yl-tech)!important}
html body .yl-page .yls-stats-link{background:var(--yl-deep)!important;border-color:var(--yl-tech)!important;color:#fff!important;box-shadow:6px 6px 0 rgba(7,20,38,.12)}
html body .yl-page .yls-stats-link :is(span,strong){color:#fff!important}
html body .yl-page .yls-stats-link:hover{background:var(--yl-tech)!important;color:var(--yl-deep)!important}
html body .yl-page .yls-stats-link:hover :is(span,strong){color:var(--yl-deep)!important}
html body .yls-page.yls-csv :is(button,select),
html body .yl-page .yl-btn{border-radius:2px!important}
html body .yl-page .yl-btn--green,
html body .yls-page.yls-csv button:hover{border-color:var(--yl-deep)!important;background:var(--yl-tech)!important;color:var(--yl-deep)!important}

/* Japan Challenge — open, energetic and participation-first. */
html body .yf-tournament-page--japan{--jc-pop-red:#f34d3f;--jc-pop-aqua:#8edbea;--jc-pop-blue:#2b9fc5;background:#f5fbfc!important}
html body .yf-tournament-page--japan .jc-hero{background-color:var(--jc-pop-aqua)!important}
html body .yf-tournament-page--japan .jc-hero__overlay{background:linear-gradient(90deg,rgba(142,219,234,.97),rgba(142,219,234,.8) 54%,rgba(142,219,234,.12))!important}
html body .yf-tournament-page--japan .jc-hero:before,
html body .yf-tournament-page--japan .jc-hero:after{content:"";position:absolute;z-index:1;border-radius:50%;pointer-events:none}
html body .yf-tournament-page--japan .jc-hero:before{width:210px;height:210px;right:6%;top:12%;background:rgba(243,77,63,.88)}
html body .yf-tournament-page--japan .jc-hero:after{width:92px;height:92px;right:30%;bottom:10%;background:rgba(255,255,255,.92);border:3px solid #0c1933}
html body .yf-tournament-page--japan .jc-hero :is(.jc-hero__title,.jc-hero__text,.jc-badge,.jc-hero__catch){color:#0c1933!important;text-shadow:none!important}
html body .yf-tournament-page--japan .jc-hero__title{font-family:"Arial Narrow",Arial,sans-serif!important;font-weight:950!important;transform:rotate(-1deg)}
html body .yf-tournament-page--japan .jc-badge{display:inline-flex!important;padding:.45rem .75rem!important;border-radius:999px;background:#fff;color:var(--jc-pop-red)!important}
html body .yf-tournament-page--japan .jc-buttons .jc-btn--primary{background:var(--jc-pop-red)!important;border-color:var(--jc-pop-red)!important;box-shadow:0 7px 0 #a9231b}
html body .yf-tournament-page--japan .jc-buttons .jc-btn--secondary{background:#fff!important;border-color:#0c1933!important;color:#0c1933!important}
html body .yf-tournament-page--japan :is(.jc-section,.jc-section--alt){background:#f5fbfc!important}
html body .yf-tournament-page--japan .jc-section:nth-of-type(even){background:#e3f6fa!important}
html body .yf-tournament-page--japan .jc-section__eyebrow{color:var(--jc-pop-red)!important}
html body .yf-tournament-page--japan .jc-section__head h2{display:inline;padding:0 .12em;background:linear-gradient(transparent 68%,var(--jc-pop-aqua) 68%)}
html body .yf-tournament-page--japan .jc-highlight :is(h2,h3,h4,p,li,strong,span){color:#fff!important}
html body .yf-tournament-page--japan :is(.jc-card,.jc-overview-card,.jc-current-event){border:2px solid #0c1933!important;border-radius:24px!important;background:#fff!important;box-shadow:8px 8px 0 var(--jc-pop-blue)!important}
html body .yf-tournament-page--japan .jc-edition-card{border-top:2px solid #0c1933!important}
html body .yf-tournament-page--japan .jc-edition-card:last-child{border-bottom:2px solid #0c1933!important}
html body .yf-tournament-page--japan .jc-edition-card__button{border-radius:999px!important;background:var(--jc-pop-red)!important;border-color:var(--jc-pop-red)!important;color:#fff!important}
html body .yf-tournament-page--japan .jc-news-item__arrow{color:var(--jc-pop-red)!important}

/* World Cup and Asian Cup — restrained, ceremonial and international. */
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia){--intl-navy:#07142d;--intl-gold:#c6a65b;--intl-paper:#f5f1e8;background:var(--intl-paper)!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) .yf-tournament-hero:after{content:"";position:absolute;inset:18px;z-index:1;border:1px solid rgba(198,166,91,.58);pointer-events:none}
html body .yf-tournament-page--world .world-cup-hero{background-color:var(--intl-navy)!important;background-blend-mode:multiply}
html body .yf-tournament-page--asia .asian-hero__overlay{background:linear-gradient(90deg,rgba(7,20,45,.95),rgba(7,20,45,.62),rgba(7,20,45,.3))!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) .yf-tournament-hero__title{font-family:Georgia,"Times New Roman",serif!important;font-weight:700!important;letter-spacing:-.025em!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) .yf-tournament-hero :is(.world-cup-hero__subtitle,.asian-hero__eyebrow){color:var(--intl-gold)!important;letter-spacing:.18em;text-transform:uppercase}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) .yf-tournament-hero__button--primary,
html body .yf-tournament-page--asia .asian-hero__buttons .btn-primary{background:var(--intl-gold)!important;border-color:var(--intl-gold)!important;color:var(--intl-navy)!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-section,.section){background:var(--intl-paper)!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-section-title,.section-heading__title){font-family:Georgia,"Times New Roman",serif!important;letter-spacing:-.01em!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-section-title:before,.section-heading__sub){color:var(--intl-gold)!important;background-color:var(--intl-gold)}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-edition-card,.asian-history-card){border-color:rgba(7,20,45,.28)!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-edition-card__year,.asian-history-card__meta .year,.world-cup-news-item__arrow,.asian-news-item__arrow){color:#92742d!important}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-edition-card__button,.asian-history-card .text-link,.world-cup-news-more a,.asian-news-more a){border-color:var(--intl-navy)!important;color:var(--intl-navy)!important;letter-spacing:.08em}
html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) :is(.world-cup-edition-card__button,.asian-history-card .text-link,.world-cup-news-more a,.asian-news-more a):hover{background:var(--intl-navy)!important;color:#fff!important}
html body .yf-tournament-page--world :is(.wc2026-facts,.wc2026-podium,.wc2026-big-result,.wc2026-format-flow){border-color:var(--intl-navy)!important}
html body .yf-tournament-page--world :is(.wc2026-facts dt,.wc2026-podium span,.wc2026-big-result small,.wc2026-format-flow small){color:#92742d!important}

@media(max-width:768px){
  html body .yl-page .yl-current-season__inner{grid-template-columns:1fr;gap:.9rem;padding-block:1.25rem}
  html body .yl-page .yl-current-season__copy{padding:.75rem 0;border-left:0;border-block:1px solid rgba(7,20,38,.3)}
  html body .yl-page .yl-current-season__lead{font-size:.82rem}
  html body .yl-page .yl-current-season__actions{display:grid;grid-template-columns:1fr 1fr}
  html body .yl-page .yl-current-season__actions a{min-width:0;padding-inline:.8rem}
  html body .yf-tournament-page--japan .jc-hero:before{width:120px;height:120px;right:-35px;top:15%}
  html body .yf-tournament-page--japan .jc-hero:after{width:64px;height:64px;right:8%;bottom:13%}
  html body :is(.yf-tournament-page--world,.yf-tournament-page--asia) .yf-tournament-hero:after{inset:10px}
  html body .yl-page,
  html body .yls-page.yls-csv{background-size:24px 24px}
}
