:root{--bg:#06110d;--panel:#0c1c16;--panel2:#11271f;--line:rgba(255,255,255,.1);--text:#f4f7f5;--muted:#91a49b;--green:#65f2a3;--gold:#ffd66b;--dark:#03100b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 15% 10%,rgba(50,231,141,.13),transparent 30%),radial-gradient(circle at 90% 70%,rgba(255,214,107,.08),transparent 28%),var(--bg);font-family:"DM Sans",sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E");z-index:2}.ambient{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.25}.ambient-one{width:350px;height:350px;background:#1b9d65;left:-170px;top:20%}.ambient-two{width:300px;height:300px;background:#a67b1f;right:-160px;bottom:10%}.intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:#06110d;transition:opacity .35s ease,visibility .35s ease}.intro.hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-grid{position:absolute;inset:-10%;background-image:linear-gradient(rgba(101,242,163,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(101,242,163,.06) 1px,transparent 1px);background-size:60px 60px;transform:perspective(500px) rotateX(58deg) translateY(28%);animation:gridMove 8s linear infinite}.intro-content{text-align:center;position:relative;z-index:2}.intro-kicker,.eyebrow{color:var(--green);font-size:.74rem;font-weight:800;letter-spacing:.22em}.intro-kicker{opacity:0;animation:fadeUp .7s .35s forwards}.intro-title{margin:16px 0 10px;font-family:Montserrat,sans-serif;font-size:clamp(3.6rem,12vw,8.5rem);line-height:.82;letter-spacing:-.07em}.intro-title span{display:block;opacity:0;transform:translateY(35px);animation:fadeUp .85s forwards}.intro-title span:first-child{animation-delay:.55s}.intro-title span:last-child{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8);animation-delay:.72s}.intro-year{color:var(--muted);letter-spacing:.15em;opacity:0;animation:fadeUp .7s 1s forwards}.intro-year b{color:var(--gold)}.tournament-mark{width:88px;height:88px;margin:0 auto 22px;position:relative;opacity:0;animation:markIn .9s .1s forwards}.ball{position:absolute;inset:25px;border-radius:50%;background:var(--green);box-shadow:0 0 35px rgba(101,242,163,.45)}.orbit{position:absolute;inset:5px;border:1px solid rgba(101,242,163,.45);border-radius:50%}.orbit-one{animation:spin 6s linear infinite}.orbit-two{inset:14px;border-style:dashed;animation:spin 4s linear infinite reverse}.enter-button{margin-top:35px;padding:15px 28px;border:1px solid rgba(101,242,163,.5);border-radius:999px;background:rgba(101,242,163,.08);color:white;font-weight:800;letter-spacing:.16em;display:inline-flex;align-items:center;gap:16px;cursor:pointer;opacity:0;animation:fadeUp .7s 1.45s forwards;transition:.25s}.enter-button:hover{background:var(--green);color:var(--dark);box-shadow:0 0 40px rgba(101,242,163,.3);transform:translateY(-2px)}.enter-button svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.8}.intro-corner{position:absolute;bottom:28px;color:var(--muted);font-size:.7rem;letter-spacing:.2em}.intro-corner-left{left:30px}.intro-corner-right{right:30px}.page-transition{position:fixed;inset:0;z-index:120;pointer-events:none;visibility:hidden}.transition-panel{position:absolute;top:0;width:50%;height:100%;background:var(--green);transform:scaleX(0);transition:transform .55s cubic-bezier(.77,0,.18,1)}.transition-panel-left{left:0;transform-origin:left}.transition-panel-right{right:0;transform-origin:right}.transition-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);font:900 clamp(3rem,10vw,7rem)/1 Montserrat;color:#062014;opacity:0;transition:.25s}.page-transition.covering{visibility:visible}.page-transition.covering .transition-panel{transform:scaleX(1)}.page-transition.covered .transition-logo{opacity:1;transform:translate(-50%,-50%) scale(1)}.page-transition.revealing{visibility:visible}.page-transition.revealing .transition-panel-left{transform-origin:right;transform:scaleX(0)}.page-transition.revealing .transition-panel-right{transform-origin:left;transform:scaleX(0)}.app{min-height:100vh;position:relative;z-index:5;opacity:0;visibility:hidden}.app.ready{opacity:1;visibility:visible}.site-header{height:86px;padding:0 clamp(20px,5vw,70px);display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line);background:rgba(6,17,13,.78);backdrop-filter:blur(18px);position:sticky;top:0;z-index:30}.brand{border:0;background:none;color:white;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font:800 .88rem Montserrat;letter-spacing:.08em}.brand small{color:var(--muted);font-size:.6rem;letter-spacing:.12em}.brand-ball{width:31px;height:31px;object-fit:contain;display:block;flex:0 0 31px}.desktop-nav{display:flex;gap:7px;margin:auto}.nav-link{border:0;background:none;color:var(--muted);padding:10px 15px;border-radius:999px;font:700 .82rem DM Sans;cursor:pointer;transition:.2s}.nav-link:hover,.nav-link.active{color:var(--dark);background:var(--green)}.header-meta{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.75rem}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.menu-button{display:none;margin-left:auto;border:0;background:none}.menu-button span{display:block;width:24px;height:2px;background:white;margin:6px}.mobile-nav{display:none}.main-content{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:70px 0 80px}.page{display:none;animation:pageIn .48s ease}.page.active{display:block}.home-hero{min-height:450px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;border:1px solid var(--line);border-radius:32px;padding:clamp(32px,7vw,80px);background:linear-gradient(135deg,rgba(17,39,31,.95),rgba(7,20,15,.85));overflow:hidden;position:relative}.hero-copy h2,.page-heading h2{font-family:Montserrat,sans-serif;margin:12px 0;font-size:clamp(3rem,7vw,6.5rem);line-height:.92;letter-spacing:-.06em}.hero-copy h2 span{color:var(--green)}.hero-description,.page-heading p{color:var(--muted);line-height:1.7;max-width:600px}.hero-trophy{position:relative;display:grid;place-items:center}.hero-trophy svg{width:min(280px,80%);position:relative;z-index:2}.trophy-line{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round}.trophy-fill{fill:rgba(255,214,107,.12)}.trophy-glow{position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,214,107,.16);filter:blur(45px)}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:rgba(12,28,22,.86)}.stat-strip article{padding:25px;border-right:1px solid var(--line)}.stat-strip article:last-child{border-right:0}.stat-label{display:block;color:var(--muted);font-size:.65rem;letter-spacing:.13em;margin-bottom:10px}.stat-strip strong{font:800 1.4rem Montserrat}.stat-strip small{color:var(--muted);font-size:.75rem}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.page-heading h2{font-size:clamp(3rem,7vw,5rem)}.page-heading-count,.pot-display{padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-align:right}.page-heading-count strong,.pot-display strong{display:block;color:var(--green);font:800 1.65rem Montserrat}.page-heading-count span,.pot-display span{color:var(--muted);font-size:.7rem;letter-spacing:.1em}.match-toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.filter-tabs{display:flex;gap:8px}.filter-tab{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:11px 16px;border-radius:999px;cursor:pointer}.filter-tab.active{color:var(--dark);background:var(--green)}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:0 17px}.search-box input{width:260px;padding:12px 0;border:0;outline:0;background:none;color:white}.matches-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.match-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--panel2),var(--panel));transition:.2s}.match-card:hover{transform:translateY(-3px);border-color:rgba(101,242,163,.35)}.match-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.teams{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:21px;font-weight:800}.versus{color:var(--green);font-size:.72rem}.podium-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.podium-card{padding:28px 20px;border:1px solid var(--line);border-radius:20px;background:var(--panel);text-align:center}.podium-card:first-child{border-color:rgba(255,214,107,.45);background:linear-gradient(180deg,rgba(255,214,107,.1),var(--panel))}.avatar{width:54px;height:54px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:var(--green);color:var(--dark);font-weight:900}.podium-card h3{margin:0}.podium-card p{color:var(--muted);margin:6px 0}.podium-score{color:var(--green);font:800 1.8rem Montserrat}.standings-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--panel)}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:18px 20px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.67rem;letter-spacing:.1em}.player-cell{display:flex;align-items:center;gap:10px}.player-cell .avatar{width:36px;height:36px;margin:0;border-radius:11px}.points{color:var(--green);font-weight:900}.standings-note{display:flex;gap:12px;align-items:center;color:var(--muted);margin-top:18px}.standings-note span{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.standings-note p{margin:0}.rules-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.rule-card{min-height:220px;padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}.featured-rule{grid-row:span 2;background:linear-gradient(145deg,rgba(101,242,163,.15),var(--panel))}.rule-number{color:var(--green);font:800 .76rem Montserrat}.rule-card h3{font:800 1.55rem Montserrat;margin:48px 0 12px}.rule-card p{color:var(--muted);line-height:1.65}.rules-badge{border:1px solid rgba(255,214,107,.35);border-radius:50%;width:110px;height:110px;display:grid;place-items:center;text-align:center;color:var(--gold);font:800 .67rem Montserrat;letter-spacing:.12em}.site-footer{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:25px 0 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;letter-spacing:.08em}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes markIn{to{opacity:1;transform:rotate(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gridMove{to{background-position:0 60px,60px 0}}@keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:800px){.desktop-nav,.header-meta{display:none}.menu-button{display:block}.mobile-nav{position:fixed;z-index:29;top:86px;left:18px;right:18px;padding:12px;display:flex;flex-direction:column;background:rgba(8,25,18,.98);border:1px solid var(--line);border-radius:18px;transform:translateY(-15px);opacity:0;visibility:hidden;transition:.2s}.mobile-nav.open{transform:none;opacity:1;visibility:visible}.home-hero{grid-template-columns:1fr;min-height:auto}.hero-trophy{margin-top:30px}.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-strip article:nth-child(2){border-right:0}.stat-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.page-heading,.match-toolbar{align-items:stretch;flex-direction:column}.matches-list,.podium-grid{grid-template-columns:1fr 1fr}.rules-layout{grid-template-columns:1fr}.featured-rule{grid-row:auto}.search-box input{width:100%}}@media(max-width:520px){.main-content{padding-top:35px}.intro-corner{display:none}.site-header{padding:0 18px}.home-hero{padding:30px 24px}.hero-copy h2{font-size:3.1rem}.hero-trophy{display:none}.stat-strip,.matches-list,.podium-grid{grid-template-columns:1fr}.stat-strip article{border-right:0;border-bottom:1px solid var(--line)}.filter-tabs{overflow:auto}.page-heading-count,.pot-display{align-self:flex-start}.site-footer{flex-direction:column;gap:8px}}

/* v3: clean intro-to-home transition */
.enter-button[hidden]{display:none!important}
.intro.leaving .intro-content,.intro.leaving .intro-corner{pointer-events:none}
body:not(.app-entered) .app{display:block;opacity:0!important;visibility:hidden!important}
body.app-entered .app.ready{opacity:1;visibility:visible}


/* v4: refined landing-screen layout */
.intro-content{
  transform:translateY(-118px);
}
.intro-title-year{
  color:var(--gold);
  -webkit-text-stroke:0;
  font-size:.28em;
  letter-spacing:.02em;
  vertical-align:top;
  display:inline-block;
  margin-left:.16em;
  transform:translateY(.18em);
}
.intro-year b{color:inherit}
@media(max-width:800px){
  .intro-content{transform:translateY(-82px)}
}
@media(max-width:520px){
  .intro-content{transform:translateY(-58px)}
  .intro-title-year{font-size:.25em;margin-left:.1em}
}


/* v5: year centered above host countries */
.intro-title-year{display:none}
.intro-year{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px}
.intro-year b{color:var(--gold);font:900 clamp(1.35rem,2.2vw,2rem)/1 Montserrat,sans-serif;letter-spacing:.06em}
.intro-year span{color:var(--muted);letter-spacing:.15em}


/* v7: replace intro green dot with soccer ball gif */
.intro-ball-gif{position:absolute;left:50%;top:50%;width:50px;height:50px;transform:translate(-50%,-50%);object-fit:contain;display:block;filter:drop-shadow(0 0 12px rgba(255,255,255,.15));z-index:2}
.tournament-mark{overflow:visible}


/* v8: larger intro ball and organized asset path */
.tournament-mark{
  width:112px;
  height:112px;
  margin:0 auto 12px;
  transform:translateY(-12px);
}
.tournament-mark .orbit-one{inset:2px}
.tournament-mark .orbit-two{inset:11px}
.intro-ball-gif{
  width:78px;
  height:78px;
  filter:drop-shadow(0 0 14px rgba(255,255,255,.2));
}
@media(max-width:520px){
  .tournament-mark{width:92px;height:92px;transform:translateY(-7px)}
  .intro-ball-gif{width:64px;height:64px}
}


/* v9: show only the soccer ball on the intro */
.tournament-mark .orbit{display:none!important}


/* v10: triple the intro soccer ball size */
.tournament-mark{width:250px;height:250px;margin:0 auto 18px;transform:translateY(-28px)}
.intro-ball-gif{width:234px;height:234px;filter:drop-shadow(0 0 18px rgba(255,255,255,.22))}
@media(max-width:520px){.tournament-mark{width:206px;height:206px;transform:translateY(-18px)}.intro-ball-gif{width:192px;height:192px}}


/* v14: five-player standings layout */
.podium-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.podium-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.podium-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.podium-grid{grid-template-columns:1fr}}


/* v15: match center layout, flags, centered VS, compact filters, and cleaner search */
.match-toolbar{align-items:center;gap:18px;margin-bottom:24px}
.filter-tabs{align-items:center;gap:10px}
.filter-tab{min-height:42px;padding:10px 16px;border-radius:14px;background:rgba(12,28,22,.75);font-weight:700}
.filter-tab.active{box-shadow:0 10px 28px rgba(101,242,163,.18)}
.search-box{height:46px;min-width:300px;border-radius:16px;padding:0 15px;background:rgba(12,28,22,.78);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.search-box svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.search-box input{width:260px;padding:0;border:0;background:transparent;color:var(--text);font-weight:600}
.search-box input::placeholder{color:rgba(145,164,155,.72)}
.matches-status{display:none!important}
.match-card{padding:24px 22px}
.teams{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:16px;margin:24px 0 18px}
.team{display:flex;align-items:center;gap:10px;min-width:0}
.team-right{justify-content:flex-end;text-align:right}
.team-right .team-flag{order:2}
.team-name{font-weight:900;white-space:normal;line-height:1.15}
.team-flag{width:26px;height:18px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.18);flex:0 0 26px;background:rgba(255,255,255,.08)}
.team-flag.placeholder{opacity:.25}
.versus{justify-self:center;display:grid;place-items:center;width:44px;height:32px;border:1px solid rgba(101,242,163,.25);border-radius:999px;background:rgba(101,242,163,.08);color:var(--green);font-weight:900;font-size:.68rem;letter-spacing:.12em}
.match-footer{margin-top:4px}
.empty-results{padding:30px;border:1px solid var(--line);border-radius:18px;color:var(--muted);background:var(--panel)}
@media(max-width:800px){.match-toolbar{align-items:stretch}.search-box{min-width:0}.filter-tab{white-space:nowrap}.teams{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:10px}.team-name{font-size:.9rem}}


/* v16: grouped match days, two filters, completed scores, and result colors */
.filter-tabs{gap:8px}
.filter-tab{min-height:34px;padding:8px 14px;border-radius:10px;line-height:1;background:rgba(12,28,22,.85)}
.search-box{height:42px;min-width:320px;border-radius:12px;background:rgba(5,16,12,.72);border:1px solid rgba(255,255,255,.12);box-shadow:none}
.search-box:focus-within{border-color:rgba(101,242,163,.55);box-shadow:0 0 0 3px rgba(101,242,163,.08)}
.search-box input{font-size:.86rem}
.matches-list{display:block}
.match-day-divider{display:flex;align-items:center;gap:14px;margin:32px 0 14px;color:var(--text)}
.match-day-divider::before,.match-day-divider::after{content:"";height:1px;background:rgba(255,255,255,.12);flex:1}
.match-day-divider span{font:900 .9rem Montserrat;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.match-day-divider small{color:var(--muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.match-card{margin-bottom:14px}
.teams{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:16px}
.team{position:relative}
.team-score{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.08);color:var(--text);font-weight:900}
.team-left .team-score{margin-left:4px}
.team-right .team-score{order:-1;margin-right:4px}
.score-center{justify-self:center;display:flex;align-items:center;justify-content:center;gap:6px;width:66px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045);font:900 .9rem Montserrat;color:var(--text)}
.score-center em{font-style:normal;color:var(--muted)}
.versus{justify-self:center;width:54px}
.team-won .team-name{color:var(--green)}
.team-lost .team-name{color:#ff6b6b}
.team-tied .team-name{color:var(--gold)}
.match-status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;font-weight:800;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.match-status.completed{color:var(--green);background:rgba(101,242,163,.1);border:1px solid rgba(101,242,163,.24)}
.match-status.upcoming{color:var(--muted);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.match-card.is-completed{border-color:rgba(101,242,163,.22);background:linear-gradient(145deg,rgba(17,39,31,.98),rgba(8,22,17,.92))}
@media(max-width:800px){.search-box{min-width:0;width:100%}.match-day-divider{gap:10px}.teams{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr)}.score-center{width:54px}.team-score{min-width:26px;height:26px}}


/* v17: team-only search, completed count, and simplified knockout tab */
.match-counts{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:240px;text-align:left}
.match-counts div{display:grid;gap:4px}
.match-counts div+div{padding-left:18px;border-left:1px solid var(--line)}
.search-box{border-radius:10px!important;min-width:280px!important;height:40px!important}
.search-box input{width:230px!important}
.tba-box{display:grid;place-items:center;min-height:68px;margin-top:18px;border:1px dashed rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.035);color:var(--gold);font:900 1.35rem Montserrat;letter-spacing:.16em}
.knockout-tba .match-footer{margin-top:16px}
@media(max-width:800px){.match-counts{grid-template-columns:1fr 1fr;min-width:0}.search-box{width:100%!important}.search-box input{width:100%!important}}


/* v18: cleaner rules page styled like the match center */
.rules-heading{align-items:flex-end}
.rules-quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-width:390px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(12,28,22,.86)}
.rules-quick-stats div{padding:18px 20px;text-align:center;border-right:1px solid var(--line)}
.rules-quick-stats div:last-child{border-right:0}
.rules-quick-stats strong{display:block;color:var(--green);font:900 1.65rem Montserrat;line-height:1}
.rules-quick-stats span{display:block;margin-top:8px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.rules-clean-list{display:grid;gap:14px}
.clean-rule-card{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:20px;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(17,39,31,.96),rgba(8,22,17,.92));transition:transform .2s ease,border-color .2s ease,background .2s ease}
.clean-rule-card:hover{transform:translateY(-2px);border-color:rgba(101,242,163,.32)}
.clean-rule-number{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(101,242,163,.1);border:1px solid rgba(101,242,163,.22);color:var(--green);font:900 .88rem Montserrat;letter-spacing:.08em}
.clean-rule-card h3{margin:0 0 8px;font:900 1.25rem Montserrat;letter-spacing:-.02em;color:var(--text)}
.clean-rule-card p{margin:0;max-width:900px;color:var(--muted);line-height:1.65}
.highlight-rule{border-color:rgba(101,242,163,.34);background:linear-gradient(145deg,rgba(101,242,163,.13),rgba(8,22,17,.94))}
.champion-rule{border-color:rgba(255,214,107,.28);background:linear-gradient(145deg,rgba(255,214,107,.1),rgba(8,22,17,.94))}
.champion-rule .clean-rule-number{background:rgba(255,214,107,.1);border-color:rgba(255,214,107,.25);color:var(--gold)}
.split-rule{border-style:dashed}
.rules-summary-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding:22px 26px;border:1px solid rgba(101,242,163,.2);border-radius:20px;background:rgba(101,242,163,.07)}
.rules-summary-panel span{display:block;color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.rules-summary-panel strong{font:900 1.05rem Montserrat;color:var(--text)}
.rules-summary-panel p{margin:0;color:var(--muted);line-height:1.55;text-align:right}
@media(max-width:900px){.rules-heading{align-items:stretch}.rules-quick-stats{min-width:0}.rules-summary-panel{align-items:flex-start;flex-direction:column}.rules-summary-panel p{text-align:left}}
@media(max-width:620px){.rules-quick-stats{grid-template-columns:1fr}.rules-quick-stats div{border-right:0;border-bottom:1px solid var(--line)}.rules-quick-stats div:last-child{border-bottom:0}.clean-rule-card{grid-template-columns:1fr;gap:14px;padding:22px}.clean-rule-number{width:46px;height:46px}}


/* v19: simplified Rules page */
.simple-rules-heading{margin-bottom:28px}
.rules-simple-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(17,39,31,.96),rgba(8,22,17,.92));overflow:hidden}
.simple-rule-row{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;padding:24px 28px;border-bottom:1px solid var(--line)}
.simple-rule-row:last-child{border-bottom:0}
.simple-rule-tag{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(101,242,163,.1);border:1px solid rgba(101,242,163,.22);color:var(--green);font:900 .78rem Montserrat;letter-spacing:.08em}
.simple-rule-row p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7;max-width:920px}
.simple-rule-row strong{color:var(--text);font-weight:900}
.rules-formula-card{margin-top:18px;padding:20px 24px;border:1px solid rgba(101,242,163,.22);border-radius:18px;background:rgba(101,242,163,.07)}
.rules-formula-card span{display:block;margin-bottom:8px;color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.rules-formula-card strong{font:900 1rem Montserrat;color:var(--text);line-height:1.55}
@media(max-width:620px){.simple-rule-row{grid-template-columns:1fr;gap:12px;padding:22px}.simple-rule-tag{width:40px;height:40px}.simple-rule-row p{font-size:.98rem}}


/* v20: vertically center rule text with the rule number */
.simple-rule-row,
.rules-simple-row,
.rule-row {
  align-items: center !important;
}

.simple-rule-row p,
.rules-simple-row p,
.rule-row p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex;
  align-items: center;
  min-height: 44px;
}

.rule-number,
.rule-index,
.simple-rule-number {
  align-self: center !important;
  flex-shrink: 0;
}


/* v21: fix Rules page text wrapping while keeping rows centered */
.rule-row,
.simple-rule-row,
.rules-simple-row {
  display: grid !important;
  grid-template-columns: 52px 1fr !important;
  align-items: center !important;
  column-gap: 30px !important;
}

.rule-row p,
.simple-rule-row p,
.rules-simple-row p {
  display: block !important;
  min-height: auto !important;
  margin: 0 !important;
  line-height: 1.7 !important;
  max-width: none !important;
}

.rule-row strong,
.simple-rule-row strong,
.rules-simple-row strong {
  display: inline !important;
  white-space: nowrap;
}

.rule-row .rule-index,
.rule-row .rule-number,
.rule-row .simple-rule-number,
.simple-rule-row .rule-index,
.simple-rule-row .rule-number,
.simple-rule-row .simple-rule-number,
.rules-simple-row .rule-index,
.rules-simple-row .rule-number,
.rules-simple-row .simple-rule-number {
  align-self: center !important;
  justify-self: center !important;
}


/* v22: restyle bottom point system block to compact split stat card */
.rules-formula-card{margin-top:18px;padding:0 28px;min-height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border:1px solid rgba(101,242,163,.22);border-radius:22px;background:linear-gradient(145deg,rgba(17,39,31,.96),rgba(8,22,17,.92));overflow:hidden}
.rules-formula-stat{padding:22px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}
.rules-formula-stat strong{display:block;font:900 2.3rem/1 Montserrat;color:var(--green);letter-spacing:-.04em}
.rules-formula-stat span{display:block;margin:0;color:var(--text);font-size:.98rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase}
.rules-formula-divider{width:1px;height:52px;background:var(--line)}
.rules-formula-note{margin:12px 0 0;color:var(--muted);font-size:.92rem;letter-spacing:.02em}
@media(max-width:620px){.rules-formula-card{grid-template-columns:1fr;gap:0;padding:0 22px}.rules-formula-divider{display:none}.rules-formula-stat{padding:18px 0}.rules-formula-stat:first-child{border-bottom:1px solid var(--line)}}


/* v23: restore original point-system text with a cleaner compact style */
.clean-point-system,
.rules-formula-card.clean-point-system {
  margin-top: 18px !important;
  min-height: auto !important;
  display: block !important;
  padding: 22px 26px !important;
  border: 1px solid rgba(101, 242, 163, .26) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, rgba(101, 242, 163, .09), rgba(8, 22, 17, .92)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

.clean-point-system span {
  display: block !important;
  margin: 0 0 10px !important;
  color: var(--green) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.clean-point-system strong {
  display: block !important;
  color: var(--text) !important;
  font: 900 clamp(.95rem, 1.6vw, 1.08rem)/1.65 Montserrat, sans-serif !important;
  letter-spacing: -.01em !important;
}

@media(max-width:620px) {
  .clean-point-system,
  .rules-formula-card.clean-point-system {
    padding: 20px 22px !important;
  }
}


/* v24: standings table only, clickable player picks, and game numbers */
.podium-grid {
  display: none !important;
}

.standings-table th:nth-child(3),
.standings-table td:nth-child(3) {
  min-width: 180px;
}

.player-pick-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.player-pick-button strong {
  color: var(--text);
  transition: color .18s ease;
}

.player-pick-button:hover strong {
  color: var(--green);
}

body.modal-open {
  overflow: hidden;
}

.pick-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
}

.pick-modal.open {
  display: block;
}

.pick-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .62);
  backdrop-filter: blur(10px);
}

.pick-modal-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(960px, calc(100vw - 36px));
  max-height: min(820px, calc(100vh - 44px));
  transform: translate(-50%, -50%);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(17,39,31,.98), rgba(7,20,15,.98));
  box-shadow: 0 30px 90px rgba(0,0,0,.5);
}

.pick-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  color: var(--text);
  font-size: 1.4rem;
  cursor: pointer;
  z-index: 2;
}

.pick-modal-heading {
  padding: 28px 32px 18px;
  border-bottom: 1px solid var(--line);
}

.pick-modal-heading h3 {
  margin: 0 0 8px;
  font: 900 clamp(2rem, 5vw, 3.6rem)/.95 Montserrat, sans-serif;
  letter-spacing: -.05em;
}

.pick-modal-heading p:last-child {
  margin: 0;
  color: var(--muted);
}

.pick-list {
  max-height: calc(min(820px, calc(100vh - 44px)) - 150px);
  overflow: auto;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pick-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(6, 18, 13, .72);
  padding: 16px;
}

.pick-card-top,
.pick-match-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: .72rem;
}

.pick-card-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 16px 0;
}

.pick-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.pick-choice small {
  display: block;
  color: var(--muted);
  font-size: .68rem;
  margin-bottom: 2px;
}

.pick-choice strong {
  display: block;
  color: var(--text);
  font-size: 1rem;
}

.pick-result {
  min-width: 76px;
  display: grid;
  place-items: center;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.pick-result strong {
  font: 900 1.1rem/1 Montserrat, sans-serif;
}

.pick-result.pick-won {
  color: var(--green);
  border-color: rgba(101,242,163,.35);
  background: rgba(101,242,163,.08);
}

.pick-result.pick-lost {
  color: #ff6b6b;
  border-color: rgba(255,107,107,.35);
  background: rgba(255,107,107,.08);
}

.pick-result.pick-tied {
  color: var(--gold);
  border-color: rgba(255,214,107,.35);
  background: rgba(255,214,107,.08);
}

.pick-result.pick-pending,
.pick-result.pick-none {
  color: var(--muted);
}

.pick-match-line {
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.pick-match-line em {
  color: var(--green);
  font-style: normal;
  font-weight: 900;
}

.match-card .match-meta:first-child span:first-child {
  color: var(--green);
  font-weight: 900;
}

@media(max-width: 760px) {
  .pick-list {
    grid-template-columns: 1fr;
  }

  .pick-modal-heading {
    padding-right: 64px;
  }
}


/* v27: simplify standings table columns */
.standings-table th:nth-child(4),
.standings-table td:nth-child(4) {
  text-align: left;
}

.standings-table .points {
  font-size: 1.05rem;
}


/* v28: champion flags and Chris photo avatar */
.champion-pick-cell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.champion-pick-cell .team-flag {
  flex: 0 0 28px;
}

.player-photo-avatar {
  object-fit: cover;
  object-position: center;
  border-radius: 50% !important;
  background: none !important;
  color: transparent !important;
  box-shadow: 0 0 0 2px rgba(101, 242, 163, .24);
}


/* v29: keep uploaded player photos neatly cropped in circular avatars */
.player-photo-avatar {
  object-fit: cover;
  object-position: center;
}


/* v30: player avatar in pick popup heading */
.pick-modal-heading {
  display: flex;
  align-items: center;
  gap: 18px;
}

.pick-modal-title-group {
  min-width: 0;
}

.pick-modal-avatar {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(101, 242, 163, .24);
  background: rgba(101, 242, 163, .07);
  overflow: hidden;
}

.pick-modal-avatar .avatar {
  width: 72px;
  height: 72px;
  margin: 0;
  border-radius: 24px !important;
  font-size: 1.15rem;
}

.pick-modal-avatar .player-photo-avatar {
  width: 72px;
  height: 72px;
  border-radius: 24px !important;
  box-shadow: none;
}

@media(max-width:620px) {
  .pick-modal-heading {
    align-items: flex-start;
  }

  .pick-modal-avatar,
  .pick-modal-avatar .avatar,
  .pick-modal-avatar .player-photo-avatar {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    border-radius: 18px !important;
  }
}


/* v31: clickable large player photo viewer */
.clickable-player-photo {
  cursor: zoom-in;
  transition: transform .18s ease, filter .18s ease;
}

.clickable-player-photo:hover {
  transform: scale(1.04);
  filter: brightness(1.08);
}

.photo-viewer {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: none;
}

.photo-viewer.open {
  display: block;
}

.photo-viewer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .78);
  backdrop-filter: blur(12px);
}

.photo-viewer-card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(520px, calc(100vw - 34px));
  max-height: calc(100vh - 44px);
  transform: translate(-50%, -50%);
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(17,39,31,.98), rgba(7,20,15,.98));
  box-shadow: 0 30px 100px rgba(0,0,0,.58);
}

.photo-viewer-card img {
  display: block;
  width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  border-radius: 20px;
  background: rgba(0,0,0,.28);
}

.photo-viewer-card p {
  margin: 14px 4px 2px;
  color: var(--text);
  text-align: center;
  font: 900 1.05rem Montserrat, sans-serif;
}

.photo-viewer-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(0,0,0,.5);
  color: var(--text);
  font-size: 1.4rem;
  cursor: pointer;
  z-index: 2;
}


/* v32: themed scrollbar and team flags in pick popup */
.pick-match-line {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}

.pick-team-name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--muted);
}

.pick-team-name-right {
  justify-self: end;
}

.pick-team-name span:last-child,
.pick-team-name > span {
  white-space: nowrap;
}

.pick-team-name .team-flag {
  width: 22px;
  height: 16px;
  border-radius: 4px;
  flex: 0 0 22px;
}

/* themed scrollbar */
.pick-list,
.pick-modal-card,
.photo-viewer-card {
  scrollbar-width: thin;
  scrollbar-color: rgba(101,242,163,.72) rgba(255,255,255,.06);
}

.pick-list::-webkit-scrollbar,
.pick-modal-card::-webkit-scrollbar,
.photo-viewer-card::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

.pick-list::-webkit-scrollbar-track,
.pick-modal-card::-webkit-scrollbar-track,
.photo-viewer-card::-webkit-scrollbar-track {
  background: rgba(255,255,255,.04);
  border-radius: 999px;
}

.pick-list::-webkit-scrollbar-thumb,
.pick-modal-card::-webkit-scrollbar-thumb,
.photo-viewer-card::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(101,242,163,.95), rgba(101,242,163,.55));
  border: 2px solid rgba(6,17,13,.7);
  border-radius: 999px;
}

.pick-list::-webkit-scrollbar-thumb:hover,
.pick-modal-card::-webkit-scrollbar-thumb:hover,
.photo-viewer-card::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(130,255,180,.98), rgba(101,242,163,.72));
}

.pick-list::-webkit-scrollbar-corner,
.pick-modal-card::-webkit-scrollbar-corner,
.photo-viewer-card::-webkit-scrollbar-corner {
  background: transparent;
}
