
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#f8f9ff;background:#090e19;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 88% 9%,#1d2850 0,transparent 42%),#090e19}button,input{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #8f78ff;outline-offset:3px}.shell{max-width:1500px;margin:auto;padding:0 clamp(20px,4.3vw,64px)}header{height:76px;background:#080d17e8;border-bottom:1px solid #253048;position:relative;z-index:5}header .shell{height:100%;display:flex;align-items:center;gap:clamp(20px,3.8vw,58px)}.logo{font-weight:950;font-size:25px;letter-spacing:-.065em;white-space:nowrap}.logo span{color:#8b74ff}.brand-logo{display:block;width:136px;height:auto;max-height:68px;object-fit:contain}.links{display:flex;gap:clamp(15px,2.3vw,38px);align-self:stretch;align-items:center}.links a{color:#d2d9e9;font-size:14px;font-weight:750;white-space:nowrap}.links a:hover,.links a.current{color:#a695ff}.links a.current{height:100%;display:grid;place-items:center;border-bottom:2px solid #8a74ff}.head-actions{display:flex;gap:11px;margin-left:auto}.ghost,.primary{border-radius:8px;padding:12px 20px;font-weight:800;font-size:14px;white-space:nowrap}.ghost{border:1px solid #61708b;background:#0d1422;color:#fff}.primary{border:0;color:#101321;background:linear-gradient(110deg,#895aff,#68a6ff);box-shadow:0 8px 23px #564ef44c}.primary:hover{filter:brightness(1.13)}.menu{display:none}.hero{min-height:450px;background:linear-gradient(90deg,#090e19 1%,#090e19de 28%,#090e1955 65%,#090e1900),url('assets/hero-valorant.png') center 43%/cover no-repeat;border-bottom:1px solid #27364e}.hero .shell{padding-top:57px;padding-bottom:46px}.eyebrow{text-transform:uppercase;letter-spacing:.39em;color:#aebbe1;font-size:12px;font-weight:750}.hero h1{font-size:clamp(72px,9vw,126px);line-height:.91;letter-spacing:-.095em;font-weight:1000;margin:14px 0 7px;text-shadow:0 6px 30px #0008}.hero h1 span{background:linear-gradient(90deg,#69acff,#a179ff);background-clip:text;color:transparent}.hero h2{font-size:clamp(21px,2.4vw,30px);letter-spacing:-.035em;margin:0 0 14px}.hero h2 span{color:#a68aff}.hero p{max-width:545px;color:#c7d1e4;font-size:17px;line-height:1.5;margin:0 0 26px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-actions .primary,.hero-actions .ghost{padding:15px 25px}.metrics{display:flex;gap:0;margin-top:38px;max-width:900px}.metric{min-width:190px;padding:0 28px;border-right:1px solid #67769349}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric strong{font-size:25px}.metric small{display:block;color:#b7c1d4;margin-top:2px}.metric .icon{color:#8977ff;font-size:25px;vertical-align:2px;margin-right:12px}.content{padding-top:25px;padding-bottom:55px}.grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(300px,.95fr);gap:15px}.panel{background:linear-gradient(155deg,#121c2b,#0d151f);border:1px solid #2a394e;border-radius:10px;padding:19px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.panel-title h2{font-size:19px;margin:0;letter-spacing:-.02em}.panel-title h2 span{color:#8977ff;margin-right:8px}.panel-title a{color:#9bafff;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{min-width:0;border:1px solid #35435a;border-radius:9px;overflow:hidden;background:#111a26;display:flex;flex-direction:column}.art{height:118px;position:relative;overflow:hidden;background:#263450}.art:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c1523 0%,transparent 85%),var(--art)}.art.red{--art:radial-gradient(circle at 73% 20%,#e34b65,#501d35 52%,#121c30)}.art.teal{--art:radial-gradient(circle at 70% 0%,#36c7c7,#20515d 53%,#121c30)}.art.gold{--art:radial-gradient(circle at 70% 0%,#eab76c,#5f4052 54%,#121c30)}.art:after{content:'◆';position:absolute;right:20px;bottom:-45px;font-size:155px;transform:rotate(-18deg);color:#fff2}.tag{position:absolute;bottom:10px;left:12px;background:#855dff;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:900}.red .tag{background:#ef445d}.teal .tag{background:#347fbd}.cardbody{padding:13px 15px 15px;flex:1;display:flex;flex-direction:column}.card h3{margin:0 0 10px;font-size:18px}.details{font-size:12px;color:#b5c2d6;display:flex;gap:12px;flex-wrap:wrap}.cardbottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px}.prize{font-weight:850;color:#ffc96c}.arrow{background:#f7f8ff;border:0;border-radius:5px;color:#151c2b;padding:6px 10px;font-weight:900;font-size:19px}.ranking{display:grid}.rank{display:grid;grid-template-columns:29px 25px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #263346;font-size:13px}.rank:last-child{border:0}.place{font-weight:900;text-align:center}.place.first{background:#f4cb73;color:#2c2214;border-radius:4px;padding:5px 0}.emblem{color:#a590ff;font-size:20px}.pts{color:#c8d1e1}.lower{display:grid;grid-template-columns:1.8fr .82fr;gap:15px;margin-top:15px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{border-right:1px solid #29394d;padding-right:12px}.step:last-child{border:0}.step b{display:block;color:#a289ff;font-size:27px;margin-bottom:8px}.step strong{display:block;font-size:14px}.step p,.callout p{color:#bdc8db;font-size:13px;line-height:1.5;margin:6px 0 0}.callout{background:radial-gradient(circle at 100% 0%,#363e9e,#182549 53%,#132035);border:1px solid #415697}.callout h2{font-size:23px;margin:8px 0}.callout .primary{display:inline-block;background:#fff;color:#152035;margin-top:17px}.dialog{border:1px solid #5b6683;border-radius:13px;background:#151d2d;color:#fff;padding:26px;width:min(510px,calc(100vw - 30px));box-shadow:0 25px 80px #000b}.dialog::backdrop{background:#040712c9}.dialog h2{margin:0 0 7px}.dialog p{color:#b9c4d7;line-height:1.5}.field{display:block;font-weight:750;font-size:14px;margin:15px 0}.field select{display:block;background:#0b1320;color:#fff;border:1px solid #56637b;border-radius:7px;width:100%;padding:12px;margin-top:7px}.player-field{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog{max-height:90vh;overflow:auto}.field input{display:block;background:#0b1320;color:#fff;border:1px solid #56637b;border-radius:7px;width:100%;padding:12px;margin-top:7px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.result{color:#a7e8c6!important;font-weight:700}footer{border-top:1px solid #26364b;color:#8494ae;padding:25px 0;font-size:13px}footer .shell{display:flex;justify-content:space-between;gap:15px}@media(max-width:1120px){.links{gap:14px}.head-actions .ghost{display:none}.metric{min-width:155px}.grid{grid-template-columns:1fr}.lower{grid-template-columns:1fr 1fr}}@media(max-width:760px){header{height:66px}.links{display:none}.head-actions .primary{display:none}.menu{display:block;color:#fff;background:#1b2740;border:1px solid #52607b;border-radius:7px;padding:8px 10px;margin-left:auto}.mobile-links{display:none;position:absolute;top:66px;left:0;right:0;background:#101a2b;padding:12px 22px;border-bottom:1px solid #394960}.mobile-links.open{display:grid;gap:15px}.mobile-links a{padding:7px}.hero{min-height:0;background:linear-gradient(90deg,#090e19f4,#090e19a6),url('assets/hero-valorant.png') 64% center/cover}.hero .shell{padding-top:65px}.hero h1{font-size:clamp(59px,14vw,95px)}.metrics{display:grid;grid-template-columns:repeat(2,1fr);row-gap:17px}.metric{padding:0 12px!important;min-width:0}.metric:nth-child(odd){border-left:0}.cards{grid-template-columns:1fr 1fr}.lower{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:510px){.hero h1{font-size:56px}.eyebrow{letter-spacing:.18em}.hero p{font-size:15px}.metric strong{font-size:21px}.cards{grid-template-columns:1fr}.art{height:130px}.steps{gap:20px}.panel{padding:16px}footer .shell{display:block}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}

.page-hero{background:linear-gradient(90deg,#101727ed,#101727b5),url('assets/hero-valorant.png') center 35%/cover;border-bottom:1px solid #30405b;padding:58px 0}.page-hero h1{font-size:clamp(36px,5vw,64px);margin:9px 0 10px;letter-spacing:-.055em}.page-hero p{max-width:700px;color:#c9d4e6;line-height:1.55;font-size:17px}.page-content{padding-top:30px;padding-bottom:70px;min-height:45vh}.page-content .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card .closed{color:#d5a7a7}.notice{background:#202b42;border-left:3px solid #9a84ff;padding:14px;border-radius:7px;color:#d6deec;line-height:1.5}.notice.success{border-color:#69c994;color:#c4f2d8}.team-row{display:grid;grid-template-columns:40px minmax(140px,1fr) 145px 140px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid #2e3c51}.team-row:last-child{border-bottom:0}.team-row strong{font-size:15px}.team-row small{color:#b8c4d7}.rank-number{color:#a78fff;font-weight:900;font-size:21px}.status-tag{border-radius:5px;padding:5px 9px;background:#334234;color:#b5e9be;font-size:12px;font-weight:800;justify-self:start}.status-tag.wait{background:#4a3929;color:#ffd495}.how-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.how-item{background:#151e2e;border:1px solid #30415a;border-radius:10px;padding:24px}.how-item b{color:#a88cff;font-size:28px}.how-item h2{font-size:20px;margin:10px 0}.how-item p{color:#bdc8db;line-height:1.55}.site-footer a{color:#aebaff}.dialog .result{min-height:20px}.dialog .result.error{color:#ffb8c1!important}.card button[disabled],button[disabled]{opacity:.55;cursor:not-allowed}@media(max-width:900px){.page-content .cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.page-content .cards,.how-grid{grid-template-columns:1fr}.team-row{grid-template-columns:30px 1fr;gap:8px}.team-row .status-tag{grid-column:2}.player-field{grid-template-columns:1fr}}

/* Le menu mobile reste masqué hors du point de rupture. */
.mobile-links{display:none}
@media(max-width:760px){.mobile-links.open{display:grid}}
.bracket-scroll{overflow-x:auto;padding:10px 0 18px}.bracket{display:flex;gap:18px;align-items:stretch;min-width:max-content}.bracket-round{width:230px;display:flex;flex-direction:column;gap:12px}.bracket-round h3{color:#a991ff;font-size:14px;text-transform:uppercase;letter-spacing:.1em}.bracket-match{background:#172337;border:1px solid #3b4b65;border-radius:9px;padding:10px}.bracket-team{display:block;padding:9px 10px;border-bottom:1px solid #2d3c52;color:#d8e2f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bracket-team:last-child{border:0}.bracket-team.winner{color:#a9f2c7;font-weight:800}.bracket-empty{color:#90a0b8}.bracket-champion{color:#f4ce80;font-weight:800}
/* Tournois et formulaire inspirés des références : visuels rouge profond, cartes compactes. */
#cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,410px),1fr))!important;gap:22px}.tournament-feature{overflow:hidden;background:#111820;border:1px solid #343b45;border-radius:9px;box-shadow:0 18px 50px #0004}.feature-art{height:172px;background:linear-gradient(0deg,#11182099,#0d101522),linear-gradient(125deg,#5b1229,#fa3149 46%,#181826 47%,#751f35 65%,#101119);position:relative;overflow:hidden}.feature-art:after{content:'V';position:absolute;right:15%;top:-67px;font-size:275px;font-weight:1000;line-height:1;color:#ff455633;text-shadow:3px 2px 40px #ff2439}.feature-mark{position:absolute;left:24px;top:20px;color:#ff4655;font-size:27px;z-index:1}.feature-type{position:absolute;bottom:16px;left:20px;background:#0e121ac7;color:#fff;font-size:11px;letter-spacing:.12em;padding:7px 11px;z-index:1}.feature-main{padding:22px}.feature-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.feature-status{color:#b8c4d5;font-size:12px;font-weight:800}.feature-status.live{color:#80e6ad}.feature-level{font-size:12px;color:#afbdd0}.tournament-feature h3{font-size:25px;letter-spacing:-.035em;margin:12px 0 18px}.feature-details{display:flex;flex-wrap:wrap;gap:15px;color:#bdc8d7;font-size:13px;padding-bottom:21px;border-bottom:1px solid #313b48}.feature-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:19px}.feature-bottom .primary{background:#ff4655;color:white;box-shadow:none}.feature-capacity{flex:1}.feature-capacity strong{font-size:20px}.feature-capacity small{display:block;color:#a7b1c0;font-size:11px;margin-top:3px}.feature-progress{height:5px;background:#343b46;border-radius:9px;margin-top:10px}.feature-progress i{display:block;height:100%;background:#ff4655;border-radius:9px}.signup-dialog{background:#101317;border-color:#2e343d;max-width:540px;width:min(540px,calc(100vw - 24px));padding:27px}.signup-head{display:flex;justify-content:space-between}.signup-head .eyebrow{color:#ff4655;letter-spacing:.15em}.signup-close{background:transparent;border:0;color:#bdc6d2;font-size:20px}.signup-dialog h2{font-size:25px;margin:20px 0 20px}.signup-progress{display:flex;justify-content:space-between;border-bottom:1px solid #31373e;margin-bottom:24px}.signup-progress span{flex:1;text-align:center;padding:0 0 14px;color:#858c9a;font-weight:800;font-size:13px;border-bottom:2px solid transparent}.signup-progress span.active{color:#ff4655;border-color:#ff4655}.signup-progress span.done{color:#a8e7c4}.signup-progress small{display:block;font-size:11px;font-weight:500;margin-top:5px}.signup-dialog h3{font-size:16px;border-left:3px solid #ff4655;padding-left:12px;margin:15px 0 19px}.signup-dialog .field input,.signup-dialog .field select{background:#191e24;border-color:#3e454e}.signup-dialog .field{font-size:12px;color:#cbd3dd}.required{color:#ff4655}.signup-hint{font-size:13px!important;color:#9eacbc!important}.signup-dialog .dialog-actions .primary{background:#ff4655;color:#fff;box-shadow:none;flex:1}.signup-dialog .dialog-actions{justify-content:stretch}.signup-dialog .dialog-actions .ghost{flex:0 0 auto}.signup-dialog .player-field{margin:4px 0}.signup-summary{background:#1b222b;border:1px solid #39424f;padding:16px;border-radius:7px}.signup-summary strong,.signup-summary small{display:block}.signup-summary small{color:#adbccc;margin-top:5px}.signup-summary li{margin:8px 0;color:#d8e0ea}.signup-dialog [hidden],.signup-step[hidden]{display:none!important}
/* Bracket : colonnes et liaisons horizontales proches de la référence. */
#bracketSection .panel{background:#101418;border-color:#303741}#bracketSection .bracket{gap:38px}#bracketSection .bracket-round{width:220px;justify-content:space-around}#bracketSection .bracket-round h3{color:#aab4c1;font-size:12px;letter-spacing:.04em}#bracketSection .bracket-match{position:relative;background:#171d23;border-color:#3a4149;padding:0;min-height:78px;display:flex;flex-direction:column;justify-content:center}#bracketSection .bracket-round:not(:last-child) .bracket-match:after{content:'';position:absolute;left:100%;width:39px;top:50%;border-top:1px solid #505860}#bracketSection .bracket-team{font-size:13px;border-color:#333c45}#bracketSection .bracket-team.winner{color:#ff6672}#bracketSection .bracket-champion{color:#ffcf79}
@media(max-width:650px){.feature-bottom{flex-wrap:wrap}.feature-bottom .primary{width:100%}.signup-dialog{padding:18px}.signup-progress small{font-size:10px}}
.feature-more{display:inline-block;color:#ff828c;font-size:12px;font-weight:800;margin-top:14px}.feature-more:hover{text-decoration:underline}.detail-banner{height:245px;border-radius:9px;position:relative;overflow:hidden;background:linear-gradient(0deg,#141a25 0%,#16151a11 75%),linear-gradient(115deg,#220f1c,#a41c37 32%,#ef3855 50%,#391526 72%,#0e1423);display:flex;flex-direction:column;justify-content:flex-end;padding:24px}.detail-banner:after{content:'V';position:absolute;font-size:350px;right:12%;top:-116px;font-weight:1000;color:#ff748031;line-height:1}.detail-banner span,.detail-banner strong{position:relative;z-index:1}.detail-banner span{letter-spacing:.2em;font-size:12px;color:#ffc7cd}.detail-banner strong{font-size:clamp(25px,4vw,50px);letter-spacing:-.04em;text-shadow:0 5px 15px #0008}.detail-overview{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 4px}.detail-overview h1{font-size:clamp(25px,3vw,39px);margin:10px 0}.detail-join{text-align:right;min-width:155px}.detail-join strong{display:block;font-size:23px}.detail-join small{display:block;color:#acb9ca;margin:3px 0 17px}.detail-join .primary{display:block;background:#ff4655;color:white;box-shadow:none}.detail-tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid #39414b}.detail-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:#aab6c7;font-size:13px;font-weight:700;padding:16px 22px;white-space:nowrap}.detail-tabs button.active{color:#ff6674;border-bottom-color:#ff4655}.detail-sections{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:24px;padding:25px 0}.detail-copy h2{font-size:22px;margin:5px 0 15px}.detail-copy p{white-space:normal;line-height:1.7;color:#bfcbd9;max-width:860px}.detail-copy[hidden]{display:none}.detail-awards{background:#151e29;border:1px solid #313e4c;border-radius:8px;padding:18px;margin-top:20px}.detail-awards h3{margin:0 0 12px}.detail-awards strong{color:#ffda8a}.detail-info{background:#171e27;border:1px solid #37414c;border-radius:8px;padding:19px;height:max-content}.detail-info h3{margin:0 0 17px}.detail-info div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #333d49;font-size:12px;color:#b5c2d0}.detail-info div:last-child{border:0}.detail-info strong{color:white;text-align:right}.participant-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.participant-list div{background:#18212b;border:1px solid #3b4653;border-radius:7px;padding:13px}.participant-list b{color:#ff6575}.detail-copy .bracket-scroll{max-width:100%}@media(max-width:760px){.detail-sections{grid-template-columns:1fr}.detail-overview{align-items:flex-start}.detail-banner{height:180px}.detail-tabs button{padding:12px 15px}}@media(max-width:450px){.detail-overview{display:block}.detail-join{display:flex;align-items:center;gap:10px;text-align:left}.detail-join small{margin:0 auto 0 0}.detail-join .primary{font-size:12px;padding:10px}}
/* Bracket public · compétition à élimination directe */
#bracketSection .panel{background:linear-gradient(142deg,#171b26 0,#0c1018 64%);border-color:#384253;padding:clamp(20px,3vw,34px);overflow:hidden}#bracketSection .panel-title h2{font-size:clamp(23px,3vw,32px)}.showcase-heading{padding:16px 0 9px}.showcase-heading .eyebrow{color:#ff6979;letter-spacing:.18em}.showcase-heading h3{font-size:clamp(21px,3vw,29px);margin:8px 0 10px}.bracket-showcase{background:radial-gradient(ellipse at 96% 4%,#74263225,transparent 45%),#0f141d;border:1px solid #323c4e;border-radius:14px;padding:22px;box-shadow:inset 0 1px #ffffff0c,0 18px 46px #0004}.bracket-showcase-top{display:flex;align-items:center;gap:10px;color:#e9bac0;letter-spacing:.13em;font-size:10px;font-weight:900;margin-bottom:18px}.bracket-live-dot{width:8px;height:8px;border-radius:50%;background:#ff566b;box-shadow:0 0 0 4px #ff566b20,0 0 16px #ff566b9c}.bracket-top-rule{width:32px;height:1px;background:#6b4652;margin:0 5px}.bracket-scroll{overflow-x:auto;overflow-y:hidden;padding:8px 0 18px;scrollbar-color:#7d465a #171e2a;scrollbar-width:thin}.bracket-tree{display:flex;align-items:stretch;gap:42px;min-width:max-content}.bracket-stage{width:248px;display:flex;flex-direction:column;min-width:0}.bracket-stage-head{display:flex;align-items:center;gap:12px;min-height:56px;margin-bottom:13px;border-bottom:1px solid #35404f;padding-bottom:12px}.bracket-stage-count{display:grid;place-items:center;width:35px;height:35px;border-radius:7px;background:#ff46551c;color:#ff7181;font-size:13px;font-weight:900}.bracket-stage-head small{display:block;color:#8e9db0;font-size:9px;letter-spacing:.14em}.bracket-stage-head h3{color:#fff!important;font-size:15px!important;text-transform:none!important;letter-spacing:0!important;margin:3px 0 0}.bracket-stage-total{margin-left:auto;color:#8f9eaf;font-size:10px;white-space:nowrap}.bracket-fixtures{display:flex;flex-direction:column;justify-content:space-around;gap:14px;flex:1}.bracket-fixture{position:relative;background:linear-gradient(135deg,#1b2433,#131a27);border:1px solid #3d4858;border-radius:11px;padding:11px;min-height:122px;box-shadow:0 8px 19px #0004}.bracket-fixture:before{content:'';position:absolute;left:0;top:15px;bottom:15px;width:2px;background:linear-gradient(#ff596b,#826eff);border-radius:8px}.bracket-stage:not(:last-child) .bracket-fixture:after{content:'';position:absolute;left:100%;top:50%;width:43px;border-top:1px solid #566074}.fixture-title{display:flex;justify-content:space-between;gap:5px;color:#8493a8;font-size:9px;letter-spacing:.11em;font-weight:800;margin:0 1px 8px}.fixture-title span:last-child{color:#e5ac78}.bracket-entrant{display:flex;align-items:center;width:100%;min-height:31px;gap:9px;padding:2px 3px;color:#e3eafa;background:transparent;border:0;text-align:left;font:inherit}.bracket-entrant.is-winner{color:#ffb9c1;font-weight:850}.bracket-entrant.is-empty{color:#7d8a9d}.bracket-entrant:focus-visible{outline:2px solid #ff6372;border-radius:4px}.bracket-entrant[data-demo-winner]{cursor:pointer;border-radius:5px}.bracket-entrant[data-demo-winner]:hover{background:#ff465524}.entrant-icon{display:grid;place-items:center;width:23px;height:23px;flex:none;border-radius:6px;background:#35445b;color:#e9eefa;font-size:11px;font-weight:900}.is-winner .entrant-icon{background:#ff4655;color:white}.entrant-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.entrant-check{margin-left:auto;color:#ff8f9a}.fixture-divider{height:1px;background:#344053;margin:3px 0;position:relative;text-align:center}.fixture-divider span{position:relative;top:-8px;color:#75879c;background:#17202d;font-size:8px;padding:0 8px;font-weight:800}.bracket-champion-card{display:flex;align-items:center;gap:16px;padding:16px 19px;background:linear-gradient(95deg,#5732264a,#262336 70%,#181e28);border:1px solid #977157;border-radius:10px;margin-top:13px}.champion-trophy{font-size:31px}.bracket-champion-card small{display:block;letter-spacing:.14em;color:#e9bf88;font-weight:850;font-size:10px}.bracket-champion-card strong{display:block;color:#fff;font-size:20px;margin-top:3px}.champion-spark{margin-left:auto;color:#f8d194;font-size:27px}.bracket-footer-note{color:#9dabbe;font-size:12px;margin:8px 0 0}.bracket-empty-message{color:#afbdd0;padding:20px}.detail-copy .bracket-showcase{max-width:100%}@media(max-width:680px){.bracket-showcase{padding:14px}.bracket-tree{gap:28px}.bracket-stage{width:214px}.bracket-stage:not(:last-child) .bracket-fixture:after{width:29px}}
.bracket-tree:has(.bracket-stage:only-child){min-width:0;justify-content:center}.bracket-stage:only-child{width:min(100%,350px)}#bracketSection .bracket-showcase:has(.bracket-stage:only-child){max-width:690px;margin:auto}
/* Petite finale et podium */
.third-place-label{margin-top:22px;padding:11px 0 3px;color:#f5c883;font-size:12px;font-weight:900;letter-spacing:.04em;border-top:1px solid #60503d}.bracket-third-match{border-color:#927553;background:linear-gradient(135deg,#2b2830,#161d29)}.bracket-third-match:before{background:linear-gradient(#f3bf76,#b58853)}.bracket-placements{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.bracket-placements span{display:inline-flex;gap:8px;align-items:center;color:#d6dfeb;background:#1d2635;border:1px solid #3b4659;padding:8px 11px;border-radius:7px;font-size:12px}.bracket-placements b{color:#f2c57c}
/* Une bannière propre à chaque tournoi remplace le visuel rouge par défaut. */
.feature-art.has-banner{background-position:center;background-size:cover}.feature-art.has-banner:after{display:none}.feature-art.has-banner:before{background:linear-gradient(0deg,#0c1523aa,transparent 70%)}.detail-banner.has-banner{background-size:cover;background-position:center}.detail-banner.has-banner:after{display:none}
/* Podium public : 1re, 2e, 3e et 4e places clairement séparées. */
.bracket-podium{margin-top:22px;border:1px solid #3b4659;border-radius:12px;overflow:hidden;background:linear-gradient(120deg,#202839,#131c2a)}.bracket-podium-header{padding:18px 20px 4px}.bracket-podium-header span{color:#f3bd83;letter-spacing:.15em;font-weight:900;font-size:10px}.bracket-podium-header h4{color:#fff;font-size:21px;margin:5px 0 11px}.bracket-podium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 18px}.bracket-podium-place{display:flex;align-items:center;gap:12px;min-height:83px;border:1px solid #485367;border-radius:10px;padding:13px;min-width:0;background:#232d3d}.bracket-podium-place.gold{background:linear-gradient(110deg,#5c462b,#332d32);border-color:#ba9153}.bracket-podium-place.silver{background:linear-gradient(110deg,#3d4859,#273344);border-color:#91a1b4}.bracket-podium-place.bronze{background:linear-gradient(110deg,#5b3d32,#302a31);border-color:#bc8468}.bracket-podium-place.fourth{background:#252c39}.bracket-podium-place .place-icon{font-size:27px;flex:none}.bracket-podium-place small{color:#bfcbd9;display:block;font-size:10px;font-weight:850;text-transform:uppercase}.bracket-podium-place strong{color:#fff;display:block;font-size:14px;margin-top:5px;overflow-wrap:anywhere}@media(max-width:1150px){.bracket-podium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.bracket-podium-grid{grid-template-columns:1fr}}
/* Thème compétition bleu · visible sur l'accueil, la fiche et l'administration. */
.bracket-showcase{background:radial-gradient(ellipse at 12% 0%,#12365445,transparent 46%),linear-gradient(140deg,#091323,#090f1c 75%);border:1px solid #27415d;border-radius:14px}
.bracket-showcase-top{color:#a9c6dd;gap:10px;font-size:10px;letter-spacing:.09em}
.bracket-showcase-top>span:not(.bracket-top-rule):not(.bracket-live-dot){border:1px solid #2a5372;background:#102439;border-radius:18px;padding:7px 10px}
.bracket-live-dot{background:#36c5ff;box-shadow:0 0 0 4px #36c5ff23,0 0 15px #36c5ff93}
.bracket-top-rule{background:#39627b;width:15px}
.bracket-tree{gap:48px}
.bracket-stage{width:245px}
.bracket-stage-head{border-color:#27415c}
.bracket-stage-count{color:#45c7ff;background:#0e334e;border:1px solid #245b7d}
.bracket-stage-head small{color:#57c6f7;font-weight:850}
.bracket-stage-head h3{color:#f3f9ff!important}
.bracket-stage-total{color:#83a6c0}
.bracket-fixture{background:linear-gradient(125deg,#122237,#0b172a);border-color:#2d4b68;box-shadow:0 6px 20px #0004;padding:11px}
.bracket-fixture:before{background:linear-gradient(#38c6ff,#527fff)}
.bracket-stage:not(:last-child) .bracket-fixture:after{border-color:#426f90;width:49px}
.bracket-entrant{color:#d7e8f7}
.bracket-entrant.is-winner{color:#d9f8ff;background:#103855a0;border-radius:5px}
.bracket-entrant.is-empty{color:#849caf}
.is-winner .entrant-icon{background:linear-gradient(125deg,#398fe5,#38d3f2);color:white}
.entrant-icon{background:#1d3a57;color:#b9d9ef}
.entrant-check{color:#49d2ff}
.fixture-title{color:#8eb5d2}
.fixture-title span:last-child{color:#53cafa}
.fixture-divider{background:#294562}
.fixture-divider span{background:#102035;color:#7ba5c4}
.third-place-label{color:#e9b975;border-color:#2b4e67}
.bracket-third-match{border-color:#9b8050;background:linear-gradient(135deg,#292d36,#102036)}
.bracket-third-match:before{background:linear-gradient(#e9bd67,#db925e)}
.bracket-victory{width:230px}
.bracket-victory .bracket-stage-head{border-color:#27415c}
.bracket-victory-content{display:flex;align-items:center;flex:1}
.victory-card{position:relative;width:100%;min-height:90px;display:flex;align-items:center;gap:12px;padding:15px;background:linear-gradient(125deg,#174a72,#102a4b 60%,#102339);border:1px solid #3199cf;border-radius:12px;box-shadow:0 10px 30px #0678a424}
.victory-card:before{content:'';position:absolute;left:-49px;top:50%;width:48px;border-top:1px solid #426f90}
.victory-icon{display:grid;place-items:center;background:linear-gradient(135deg,#1989e4,#48c8f1);border-radius:10px;width:46px;height:46px;flex:none;font-size:24px}
.victory-card small{color:#86dcff;display:block;font-size:9px;letter-spacing:.12em;font-weight:900}
.victory-card strong{display:block;color:#fff;font-size:17px;margin-top:5px;overflow-wrap:anywhere}
.bracket-podium{border-color:#294967;background:#0b192b}
.bracket-podium-header span{color:#78d5ff}
.bracket-podium-header h4{color:#e9f7ff}
.bracket-podium-place{background:#13283e;border-color:#2d5371}
.bracket-podium-place.gold{background:linear-gradient(110deg,#215477,#14334e);border-color:#49b5e5}
.bracket-podium-place.silver{background:linear-gradient(110deg,#223d58,#172f46);border-color:#6ba3c8}
.bracket-podium-place.bronze{background:linear-gradient(110deg,#3b3d45,#1b2c3d);border-color:#b29b70}
.bracket-podium-place.fourth{background:#17283b}
.bracket-podium-place b{color:#a1e7ff}
.bracket-footer-note{color:#a5c1d4}
.bracket-editor .bracket-entrant[data-bracket-win]:hover{background:#11628a5e;outline:1px solid #52caff}
.bracket-editor .bracket-fixture:before{background:linear-gradient(#38c6ff,#527fff)}
@media(max-width:700px){.bracket-tree{gap:30px}.bracket-stage:not(:last-child) .bracket-fixture:after{width:31px}.victory-card:before{width:30px;left:-31px}}
/* Pyramide : chaque match est centré sur les deux matchs qui y mènent. */
.bracket-tree{position:relative;display:flex;align-items:stretch;gap:78px;min-width:max-content}
.bracket-tree .bracket-stage{width:248px;min-width:248px;flex:0 0 248px;position:relative;z-index:1;display:block}
.bracket-tree .bracket-stage-head{height:66px;min-height:66px;box-sizing:border-box;margin:0;padding:0 0 10px}
.bracket-tree .bracket-fixtures{position:relative;display:block;flex:none;gap:0}
.bracket-tree .bracket-fixture{position:absolute;left:0;width:248px;height:122px;min-height:122px;box-sizing:border-box}
.bracket-tree .bracket-stage:not(:last-child) .bracket-fixture:after{display:none}
.bracket-paths{position:absolute;left:0;top:0;z-index:0;overflow:visible;pointer-events:none}
.bracket-paths path{fill:none;stroke:#50728d;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;shape-rendering:crispEdges}
.bracket-tree .third-place-label{position:absolute;left:0;width:248px;margin:0;padding:4px 0;border-top:1px solid #6e6348;box-sizing:border-box}
.bracket-tree:has(.bracket-stage:only-child){min-width:max-content;justify-content:flex-start}
.bracket-tree .bracket-stage:only-child{width:248px}
@media(max-width:700px){.bracket-tree{gap:78px}}
.bracket-entrant .entrant-score{margin-left:auto;color:#aec3d6;font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}.bracket-entrant.is-winner .entrant-score{color:#65ddff}.bracket-entrant .entrant-check{margin-left:1px}
.rules-panel{background:linear-gradient(130deg,#152133,#0f1828);border:1px solid #354965;border-radius:12px;padding:clamp(20px,3vw,34px);margin-top:28px}.rules-panel .eyebrow{letter-spacing:.18em;color:#91cfff}.rules-panel h2{font-size:clamp(24px,3vw,34px);margin:10px 0 19px}.rules-content{color:#d2deed;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;max-width:980px}.rules-content:empty{min-height:40px}
.signup-dialog .player-field{grid-template-columns:1fr 1fr;gap:7px 12px;padding:10px 0;border-bottom:1px solid #39424b}.signup-dialog .player-field .field:first-child{grid-column:1/-1}.signup-dialog .player-field:last-child{border-bottom:0}@media(max-width:520px){.signup-dialog .player-field{grid-template-columns:1fr}.signup-dialog .player-field .field:first-child{grid-column:auto}}
