.tournament-hero{display:flex;align-items:end;justify-content:space-between;padding:34px 0}.tournament-hero h1{font-size:clamp(44px,6vw,70px);margin:8px 0}.tournament-hero>div>p{color:var(--muted)}.world-rule{max-width:430px;padding:20px;border:1px solid #416b79;border-radius:15px;background:#0c2c38}.world-rule strong,.world-rule span{display:block}.world-rule strong{color:var(--lime);margin-bottom:7px}.world-rule span{color:var(--muted);font-size:12px;line-height:1.55}.season-calendar{display:grid;gap:24px;padding-bottom:45px}.calendar-week{display:grid;grid-template-columns:90px 1fr;gap:18px}.calendar-week>header{display:flex;align-items:center;flex-direction:column;padding-top:20px;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.12em}.calendar-week>header b{font-size:35px;color:var(--text);margin-top:4px}.week-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tournament-card{padding:23px}.tournament-card.grand{border-color:#806a2c;background:linear-gradient(145deg,#3b3218,#14242a)}.tournament-card.final{border-color:#71427e;background:linear-gradient(145deg,#35213d,#14212a)}.tournament-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.tournament-top b{color:var(--lime)}.tournament-card h2{margin:12px 0 5px}.tournament-card>p{color:var(--muted)}.tournament-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:18px 0}.tournament-facts span{display:flex;justify-content:space-between;padding:9px;border-radius:8px;background:#071d27;color:var(--muted);font-size:11px}.tournament-facts b{color:var(--text)}.qualification-note{padding:11px;border-left:3px solid var(--gold);background:#302b18;color:#d7cc98!important;font-size:11px}.rest-week{padding:25px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}@media(max-width:900px){.week-events{grid-template-columns:1fr}}@media(max-width:700px){.tournament-hero{align-items:flex-start;flex-direction:column;gap:18px}.world-rule{max-width:none}.calendar-week{grid-template-columns:1fr}.calendar-week>header{align-items:flex-start;flex-direction:row;gap:8px;padding:0}.calendar-week>header b{font-size:16px;margin:0}.tournament-facts{grid-template-columns:1fr}}
.tournament-module .module-icon{color:#d9f99d;background:rgba(101,163,13,.14)}
.tournament-trophy{display:block;width:120px;height:120px;object-fit:contain;margin:5px auto 0;filter:drop-shadow(0 15px 16px #0009)}.detail-trophy{width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 18px 20px #000a)}
.player-trophies{margin:34px 0}.trophy-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.won-trophy{display:flex;align-items:center;gap:14px;padding:16px}.won-trophy img{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 10px 10px #0008)}.won-trophy h3{margin:0 0 5px}.won-trophy p{margin:0}@media(max-width:700px){.trophy-collection{grid-template-columns:1fr}.detail-trophy{width:120px;height:120px}}
.admin-participants{padding:20px;margin-bottom:20px}.participant-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.participant-chips span{padding:10px;border-radius:9px;background:#091a14}.participant-chips b,.participant-chips small{display:block}.participant-chips small{margin-top:4px;color:var(--muted)}.admin-match-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-match{padding:16px}.admin-match header,.match-players{display:flex;justify-content:space-between;gap:12px}.admin-match header{color:var(--muted);font-size:11px}.match-players{align-items:center;margin:18px 0}.admin-match form{display:grid;grid-template-columns:1fr 90px 1fr;gap:8px}.admin-match select{margin:0}.admin-match button{padding:10px}@media(max-width:760px){.participant-chips,.admin-match-list{grid-template-columns:1fr}.admin-match form{grid-template-columns:1fr}}
.match-players>span{flex:1}.match-players>span:last-child{text-align:right}.match-players small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.bracket-match span small{display:block;margin-top:3px;color:#91a69b;font-size:9px;font-weight:500}.bracket-match span.winner small{color:#b7d88a}
.tournament-open{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-radius:11px;background:#a3e635;color:#102008;font-weight:900}.tournament-detail-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 0}.tournament-detail-hero h1{font-size:clamp(38px,6vw,68px);margin:8px 0}.tournament-detail-hero p{color:var(--muted)}.registration-state{min-width:230px;padding:18px;border:1px solid #416b79;border-radius:15px;background:#0c2c38}.registration-state strong,.registration-state span,.registration-state small{display:block}.registration-state strong{color:var(--lime);font-size:19px}.registration-state span{margin:8px 0}.registration-state small{color:var(--muted)}.tournament-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.detail-rules,.schedule-card{padding:24px}.reward-line{display:grid;gap:8px;margin-top:18px}.reward-line span,.schedule-card>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;background:#091a14;color:var(--muted)}.reward-line b,.schedule-card b{color:var(--text)}.entry-section{margin:34px 0}.entry-list{display:grid;gap:10px}.entry-player{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 19px}.entry-player h3{margin:7px 0 3px}.entry-player p{margin:0}.entry-player form{min-width:180px}.entry-player button{padding:11px 14px}.entry-status{padding:9px 12px;border-radius:9px;background:#162820;color:#b7c8be;font-size:12px;font-weight:800}.entry-status.accepted{background:#173c25;color:#bbf7d0}.entry-status.qualification{background:#3b3118;color:#fde68a}.entry-status.rejected{background:#40201f;color:#fecaca}.entry-status.automatic{background:#173445;color:#bae6fd}@media(max-width:700px){.tournament-detail-hero{align-items:stretch;flex-direction:column}.registration-state{min-width:0}.tournament-detail-grid{grid-template-columns:1fr}.entry-player{align-items:stretch;flex-direction:column}.entry-player form{width:100%;min-width:0}}
.match-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.match-actions button{font-size:11px}@media(max-width:760px){.match-actions{grid-template-columns:1fr}}
.tournament-card.surface-hard{box-shadow:inset 0 3px 0 #38bdf8,0 26px 70px #0005}.tournament-card.surface-clay{box-shadow:inset 0 3px 0 #d97745,0 26px 70px #0005}.tournament-card.surface-grass{box-shadow:inset 0 3px 0 #84cc16,0 26px 70px #0005}.tournament-card.surface-carpet{box-shadow:inset 0 3px 0 #a78bfa,0 26px 70px #0005}
.tournament-category{display:inline-flex;margin-top:14px;padding:5px 9px;border:1px solid #36535e;border-radius:999px;color:#b9d2d9;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tournament-card.grand .tournament-category{border-color:#b99a3b;background:#3c3217;color:#ffe08a}.tournament-card.final .tournament-category{border-color:#875797;background:#35213d;color:#e9b7fa}
.tournament-filters{display:flex;gap:9px;overflow:auto;padding:4px 0 22px}.tournament-filters a{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:11px 14px;border:1px solid var(--line);border-radius:11px;background:#0a222c;color:var(--muted)}.tournament-filters a b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#061820;color:var(--text)}.tournament-filters a.active{border-color:var(--lime);color:var(--lime);background:#102f31}.calendar-view-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:6px 0 20px}.calendar-view-title h2{margin:0}.calendar-view-title p{margin:0;color:var(--muted);font-size:12px}.entry-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.entry-actions form{margin:0}@media(max-width:700px){.calendar-view-title{align-items:flex-start;flex-direction:column}.tournament-filters{margin-right:-16px}.entry-actions{align-items:stretch;flex-direction:column;width:100%}.entry-actions button{width:100%}}
.draw-tour-actions{display:grid;gap:8px;min-width:190px}.draw-tour-actions form{margin:0}.draw-tour-actions button{padding:11px}
.draw-links{display:flex;gap:8px;margin:0 0 20px}.draw-links a{padding:11px 16px;border-radius:10px;background:#163126;color:#bef264;font-weight:800}.draw-stage{margin:28px 0}.public-bracket{display:flex;align-items:flex-start;gap:18px;overflow-x:auto;padding:8px 2px 24px}.bracket-round{flex:0 0 240px;display:grid;gap:10px}.bracket-round h3{position:sticky;top:0;margin:0;color:var(--muted);font-size:12px}.bracket-match{position:relative;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0d1b15}.bracket-match span{display:block;padding:6px 8px;border-radius:6px}.bracket-match span.winner{background:#29451d;color:#d9f99d;font-weight:900}.bracket-match small{color:#71847a}.bracket-match b,.bracket-match time{display:block;margin-top:5px;text-align:center;color:var(--gold);font-size:11px}
.player-tournament-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 0}.player-tournament-head h1{font-size:clamp(38px,6vw,64px);margin:6px 0}.player-tournament-head p,.section-note{color:var(--muted)}.player-condition{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.player-condition span{display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border-radius:9px;background:#10271d;color:var(--muted)}.player-condition b{color:var(--text)}.player-condition .injured{background:#40201f;color:#fecaca}.player-tournament-section{margin:30px 0}.available-events,.registration-history,.player-match-history{display:grid;gap:10px}.available-event,.history-row,.player-match-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px}.available-event h3,.history-row h3,.player-match-row h3{margin:5px 0}.available-event p,.history-row p,.player-match-row p{margin:0;color:var(--muted)}.available-event>div>span,.player-match-row>div>span{color:var(--lime);font-size:11px;font-weight:800}.match-result{text-align:right}.match-result b,.match-result span{display:block}.match-result.won b{color:#bef264}.match-result.lost b{color:#fca5a5}.match-result.scheduled b{color:#7dd3fc}.match-result span{margin-top:4px;color:var(--muted)}@media(max-width:700px){.player-tournament-head{align-items:stretch;flex-direction:column}.player-condition{grid-template-columns:1fr}.available-event,.history-row,.player-match-row{align-items:flex-start;flex-direction:column}.match-result{text-align:left}}
.career-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.career-summary article{padding:17px}.career-summary span,.career-summary b{display:block}.career-summary span{color:var(--muted);font-size:11px}.career-summary b{margin-top:6px;font-size:23px;color:var(--lime)}.surface-career{display:grid;grid-template-columns:1fr repeat(4,minmax(0,1fr));gap:10px;align-items:center;padding:20px;margin:20px 0}.surface-career-row{padding:12px;border-radius:10px;background:#091a14}.surface-career-row span,.surface-career-row b,.surface-career-row small{display:block}.surface-career-row b{margin:6px 0}.surface-career-row small{color:var(--muted)}.champion-archive{display:grid;gap:14px;margin-bottom:40px}.champion-event{display:grid;grid-template-columns:110px 1fr 1fr;align-items:center;gap:22px;padding:20px}.champion-event>img{width:100px;height:100px;object-fit:contain}.champion-event-info>span{color:var(--lime);font-size:11px}.champion-event-info h2{margin:6px 0}.champion-event-info p{margin:0}.champion-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.champion-pair>div{padding:12px;border-radius:10px;background:#091a14}.champion-pair span,.champion-pair b,.champion-pair small{display:block}.champion-pair span{color:var(--gold);font-size:11px}.champion-pair b{margin:5px 0}.champion-pair small{color:var(--muted)}@media(max-width:800px){.career-summary{grid-template-columns:repeat(2,1fr)}.surface-career{grid-template-columns:1fr 1fr}.champion-event{grid-template-columns:80px 1fr}.champion-event>img{width:75px;height:75px}.champion-pair{grid-column:1/-1}}@media(max-width:520px){.surface-career,.champion-pair{grid-template-columns:1fr}.champion-event{grid-template-columns:1fr}.champion-event>img{margin:auto}}
.public-club-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 0}.public-club-hero h1{font-size:clamp(44px,7vw,76px);margin:8px 0}.public-club-hero p{color:var(--muted)}.public-club-hero blockquote{margin:18px 0 0;padding-left:14px;border-left:3px solid var(--lime);color:#c7d4cc}.public-club-fans{min-width:190px;padding:20px;border:1px solid #536928;border-radius:15px;background:#263216}.public-club-fans strong,.public-club-fans span{display:block}.public-club-fans strong{font-size:34px;color:var(--lime)}.public-club-fans span{color:var(--muted)}.public-roster{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-player{display:flex;align-items:center;justify-content:space-between;padding:17px}.public-player h3{margin:7px 0 3px}.public-player p{margin:0}.public-player>div:last-child{text-align:right}.public-player small{display:block;margin-top:5px;color:var(--muted)}.bracket-match small a{color:inherit;text-decoration:underline;text-decoration-color:#ffffff30}@media(max-width:700px){.public-club-hero{align-items:stretch;flex-direction:column}.public-club-fans{min-width:0}.public-roster{grid-template-columns:1fr}.club-summary{grid-template-columns:1fr 1fr}}
.match-center-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:15px}.match-mode{display:flex;gap:7px}.match-mode a{padding:10px 14px;border-radius:10px;background:#13231d}.match-mode a.active{background:#28471c;color:#d9f99d;font-weight:900}.world-match-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.world-match{padding:17px}.world-match header{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.world-match header span{color:var(--lime);font-size:10px}.world-match header h3{margin:5px 0}.world-match header small{color:var(--muted)}.match-score,.match-time{align-self:center;color:var(--gold);font-size:20px}.world-match-player{display:flex;justify-content:space-between;gap:12px;padding:11px 8px;border-bottom:1px solid #20332a}.world-match-player a{color:var(--muted);font-size:11px}.world-match-player.winner{border-left:3px solid var(--lime);background:#172c1d}.world-match-player.winner b{color:#d9f99d}@media(max-width:760px){.match-center-toolbar{align-items:stretch;flex-direction:column}.match-mode,.match-center-toolbar .tour-switch{overflow-x:auto}.world-match-list{grid-template-columns:1fr}.world-match-player{align-items:flex-start;flex-direction:column;gap:4px}}
.h2h-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;padding:30px}.h2h-score>div{display:flex;align-items:center;justify-content:flex-end;gap:25px}.h2h-score>div:last-child{justify-content:flex-start}.h2h-score a,.h2h-score a small{display:block}.h2h-score a{font-size:18px;font-weight:900}.h2h-score a small{margin-top:5px;color:var(--muted);font-size:11px;font-weight:500}.h2h-score strong{font-size:48px;color:var(--lime)}.h2h-score>span{color:var(--muted)}.h2h-surfaces{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.h2h-surfaces article{padding:15px}.h2h-surfaces span,.h2h-surfaces b,.h2h-surfaces small{display:block}.h2h-surfaces b{margin:5px 0;font-size:20px}.h2h-surfaces small{color:var(--muted)}.h2h-result{color:var(--lime);font-weight:900}@media(max-width:650px){.h2h-score{gap:10px;padding:20px 12px}.h2h-score>div{align-items:flex-start;flex-direction:column;gap:8px}.h2h-score>div:last-child{flex-direction:column-reverse}.h2h-score strong{font-size:32px}.h2h-surfaces{grid-template-columns:1fr 1fr}}
.h2h-open,.broadcast-open{display:block;margin-top:10px;color:var(--lime);font-size:11px;font-weight:800;text-align:right}.broadcast-open{padding:9px 11px;border:1px solid #4e672e;border-radius:8px;background:#203019}
.invitation-section{padding:22px;margin:20px 0;border-color:#7c6427;background:linear-gradient(145deg,#342b14,#102019)}.invitation-section>div>p{color:var(--muted)}.invitation-list{display:grid;gap:8px;margin-top:16px}.invitation-list>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-radius:10px;background:#101b15}.invitation-list>article>div:first-child{display:flex;align-items:center;gap:10px}.invitation-list small{color:var(--muted)}.invitation-actions{display:flex;gap:7px}.invitation-actions form{margin:0}.invitation-actions button{padding:9px 13px}.invitation-actions .secondary{background:#27332c;color:#cbd5cf}@media(max-width:620px){.invitation-list>article{align-items:stretch;flex-direction:column}.invitation-list>article>div:first-child{flex-wrap:wrap}.invitation-actions,.invitation-actions form{width:100%}}
.global-invitations>article{display:grid;grid-template-columns:1fr minmax(180px,.45fr) auto;gap:20px;align-items:center;padding:20px}.global-invitations h2{margin:8px 0}.global-invitations p{margin:0}.global-invitations small{color:var(--muted)}.invited-player b,.invited-player span{display:block}.invited-player span{margin-top:5px;color:var(--gold)}@media(max-width:760px){.global-invitations>article{grid-template-columns:1fr}.invited-player{padding-top:10px;border-top:1px solid var(--line)}}
.player-registration>a{flex:1;color:inherit;text-decoration:none}.player-invitation{display:flex;align-items:flex-end;gap:12px;flex-direction:column}.player-invitation>small{color:var(--muted)}.player-invitation>div{display:flex;gap:8px}.player-invitation form{margin:0}.player-invitation button{min-width:105px}@media(max-width:700px){.player-registration>a{width:100%}.player-invitation{width:100%;align-items:stretch}.player-invitation>div{display:grid;grid-template-columns:1fr 1fr}.player-invitation button{width:100%;min-width:0}}
.public-player-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding:30px 0}.public-player-hero h1{font-size:clamp(42px,7vw,72px);margin:8px 0}.public-player-hero p{color:var(--muted)}.public-club-link{display:inline-block;margin-top:12px;color:var(--lime);font-weight:800}.public-rating{min-width:220px;padding:20px;border:1px solid #536928;border-radius:15px;background:#263216}.public-rating strong,.public-rating span,.public-rating small{display:block}.public-rating strong{font-size:38px;color:var(--lime)}.public-rating span,.public-rating small{color:var(--muted)}.public-rating small{margin-top:10px}.public-player-grid{display:grid;grid-template-columns:1fr 280px;gap:15px;margin:20px 0}.public-skills,.public-form{padding:22px}.public-skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.public-skill-grid span,.public-form>span{display:flex;justify-content:space-between;padding:10px;border-radius:8px;background:#091a14}.public-skill-grid small,.public-form>span{color:var(--muted)}.public-skill-grid b,.public-form b{color:var(--text)}.public-form>span{margin-bottom:8px}.public-form .injured{background:#40201f;color:#fecaca}.public-result{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px}.public-result h3{margin:5px 0}.public-result p{margin:0}.public-result>div>span{color:var(--lime);font-size:10px}.public-result strong.win{color:var(--lime)}.public-result strong.loss{color:#fca5a5}@media(max-width:720px){.public-player-hero{align-items:stretch;flex-direction:column}.public-rating{min-width:0}.public-player-grid{grid-template-columns:1fr}.public-skill-grid{grid-template-columns:1fr 1fr}.public-result{align-items:flex-start;flex-direction:column}}
.world-match-player b a{color:inherit;font-size:inherit}.public-result a{color:inherit}.public-result p a{color:var(--lime)}
.bracket-broadcast{display:block;margin-top:7px;padding-top:6px;border-top:1px solid var(--line);color:var(--lime);font-size:10px;font-weight:800;text-align:right}
.bracket-player{color:inherit;font-weight:inherit}.bracket-player:hover{text-decoration:underline}
.official-match-form{display:block!important}.official-match-form button{width:100%}.official-match-form button:disabled{cursor:not-allowed;opacity:.48}.simulation-disabled{display:block;margin-top:8px;color:#d9aa68;line-height:1.45}.manual-result-form{margin-top:12px}.admin-report-link{display:block;margin-top:10px;padding:10px 12px;border:1px solid #4e672e;border-radius:8px;background:#203019;color:var(--lime);font-size:11px;font-weight:800;text-align:center}
