/* TurnuvaGo v6.18.0 — mobile competition */
/* v6.12.0 - oyuncu, kura, puan durumu, cezalar ve istatistikler mobil yenilemesi */
.card-visual{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;vertical-align:middle}.card-visual i,.mini-card{display:block;width:14px;height:20px;border:1px solid rgba(15,23,42,.13);border-radius:2px;box-shadow:0 2px 5px rgba(15,23,42,.14);transform:rotate(4deg)}.card-visual.yellow i,.card-visual.second-yellow i,.card-visual.second_yellow i,.mini-card.yellow{background:#f8c91c}.card-visual.red i,.mini-card.red{background:#e33c45}.card-visual.second-yellow i:last-child,.card-visual.second_yellow i:last-child{position:absolute;left:11px;top:6px;background:#e33c45;transform:rotate(9deg)}
.player-match-card-icons{display:inline-flex;align-items:center;gap:1px}.player-match-card-icons .card-visual{width:24px;height:25px}.player-match-card-icons .card-visual i{width:12px;height:17px}.player-match-card-icons .card-visual.second_yellow i:last-child{left:10px;top:5px}

.draw-method-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0 10px;padding:5px;border:1px solid #dce5ef;border-radius:13px;background:#f2f6fa}.draw-method-selector button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:#506279;cursor:pointer}.draw-method-selector button span{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:7px;background:#dfe8f2;font-size:10px;font-weight:950}.draw-method-selector button strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.draw-method-selector button.active{background:#fff;color:#1267dc;box-shadow:0 4px 13px rgba(22,101,197,.11)}.draw-method-selector button.active span{background:#1267dc;color:#fff}.draw-method-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);align-items:center;gap:18px;min-height:150px;padding:18px;border:1px solid #dce5ef;border-radius:13px;background:linear-gradient(135deg,#fff,#f7faff)}.draw-method-panel[hidden]{display:none}.draw-method-panel h3{margin:0 0 5px;font-size:18px}.draw-method-panel p{margin:0;color:#68798d;font-size:13px;line-height:1.45}.draw-method-panel form,.draw-method-controls{display:grid;gap:9px}.draw-method-panel button{width:100%;min-height:42px;border:0;border-radius:9px;padding:9px 12px;background:#1267dc;color:#fff;font-weight:850;cursor:pointer}.draw-method-panel button:disabled{opacity:.45;cursor:not-allowed}

.standings-mobile-page,.penalties-mobile-page,.statistics-mobile-page,.player-mobile-page{width:100%;max-width:100%;min-width:0}.standings-group-list{display:grid;gap:var(--tg-space-3)}.standings-group-card{--tg-format-accent:var(--tg-section-format-league-accent);--tg-format-soft:var(--tg-section-format-league-soft);position:relative;overflow:hidden;min-width:0;padding:0;border:1px solid color-mix(in srgb,var(--tg-format-accent) 24%,var(--tg-border));border-left:4px solid var(--tg-format-accent);border-radius:var(--tg-radius-md);background:var(--tg-color-surface);box-shadow:none}.standings-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--tg-space-3);padding:var(--tg-space-3) var(--tg-space-4);border-bottom:1px solid color-mix(in srgb,var(--tg-format-accent) 24%,var(--tg-border));background:color-mix(in srgb,var(--tg-format-soft) 40%,var(--tg-surface))}.standings-group-identity{display:flex;align-items:center;gap:var(--tg-space-2);min-width:0}.standings-group-identity>div{min-width:0}.standings-group-head h2{margin:0;overflow:hidden;color:var(--tg-color-text);font-size:var(--tg-font-md);font-weight:var(--tg-font-weight-black);line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.standings-group-head small{display:block;margin-top:2px;color:var(--tg-text-muted);font-size:var(--tg-font-sm);line-height:1.3}.standings-table-wrap{margin:0}.standings-table-wrap table{margin:0}.standings-points small{display:none}.standings-empty{padding:25px}.standings-group-card .standings-legend{margin:0;padding:var(--tg-space-2) var(--tg-space-4);border-top:1px solid var(--tg-color-border);background:var(--tg-surface-soft);color:var(--tg-color-muted);font-size:var(--tg-font-xs)}

.penalty-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.penalty-summary>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfe6ee;border-radius:12px;background:#fff}.penalty-summary strong{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef4fb;color:#315d91;font-size:18px}.penalty-summary span{font-size:12px;font-weight:850}.penalty-summary .active strong{background:#fff2d7;color:#9a6500}.penalty-summary .served strong{background:#eaf8f0;color:#157346}.penalty-summary .cancelled strong{background:#f1f3f6;color:#68778a}.penalty-create-panel{padding:0;overflow:hidden}.penalty-create-panel>summary{display:grid;grid-template-columns:38px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:12px 14px;list-style:none;cursor:pointer}.penalty-create-panel>summary::-webkit-details-marker{display:none}.penalty-create-panel>summary>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff1f1;color:#c52c37}.penalty-create-panel>summary strong,.penalty-create-panel>summary small{display:block}.penalty-create-panel>summary strong{font-size:14px}.penalty-create-panel>summary small{margin-top:2px;color:#718096;font-size:10px}.penalty-create-panel>summary>b{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf4fc;color:#1765c5;font-size:20px}.penalty-create-panel[open]>summary>b{transform:rotate(45deg)}.penalty-create-content{padding:0 14px 14px;border-top:1px solid #e4eaf1}.penalty-list-panel{padding:0;overflow:hidden}.penalty-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid #e5ebf1}.penalty-list-head h2{margin:0;font-size:16px}.penalty-list-head small{display:block;margin-top:2px;color:#718096;font-size:10px}.penalty-filter-tabs{display:flex;gap:4px;padding:3px;border-radius:9px;background:#f0f4f8}.penalty-filter-tabs button{border:0;border-radius:7px;padding:6px 9px;background:transparent;color:#68788d;font-size:10px;font-weight:850;cursor:pointer}.penalty-filter-tabs button.active{background:#fff;color:#1765c5;box-shadow:0 2px 7px rgba(20,53,88,.09)}.penalty-card-list{display:grid;gap:8px;padding:10px}.penalty-record{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px;border:1px solid #dfe6ee;border-radius:12px;background:#fff;box-shadow:0 3px 11px rgba(16,43,72,.04)}.penalty-record[hidden]{display:none}.penalty-record.status-active{border-left:4px solid #e9ae1b}.penalty-record.status-served{border-left:4px solid #22a463}.penalty-record.status-cancelled{border-left:4px solid #9aa6b5;opacity:.78}.penalty-record-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#f3f6f9}.penalty-symbol{display:grid;place-items:center;width:26px;height:30px;border-radius:7px;background:#e8eef7;color:#315d91;font-size:12px;font-weight:950}.penalty-record-main{min-width:0}.penalty-record-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.penalty-record-title>div{display:grid;min-width:0;gap:2px}.penalty-record-title strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.penalty-record-title small{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.penalty-status{padding:4px 7px;border-radius:999px;background:#eef2f6;color:#64748b;font-size:10px;font-weight:900;white-space:nowrap}.penalty-status.status-active{background:#fff3d7;color:#916100}.penalty-status.status-served{background:#e8f8ef;color:#167046}.penalty-type-label{margin:5px 0;color:#465a72;font-size:10px;font-weight:800}.penalty-progress{display:flex;align-items:center;gap:8px}.penalty-progress>span{position:relative;height:5px;min-width:70px;max-width:170px;flex:1;overflow:hidden;border-radius:999px;background:#e9eef4}.penalty-progress>span i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:#2275d8}.penalty-progress small{color:#758499;font-size:10px;white-space:nowrap}.penalty-record-main p{margin:7px 0 0;padding-top:6px;border-top:1px solid #edf1f5;color:#5f7085;font-size:10px;line-height:1.35}.penalty-cancel-form{align-self:center;margin:0}.penalty-cancel-form button{min-height:31px;padding:5px 8px;font-size:10px}

.statistics-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.statistics-panel{padding:0;overflow:hidden}.statistics-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 15px;border-bottom:1px solid #e5ebf1;background:#fbfcfe}.statistics-panel>header>div{display:flex;align-items:center;gap:9px;min-width:0}.statistics-panel>header>div>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#eaf3ff;color:#1765c5}.cards-panel>header>div>span{background:#fff1f1;color:#c52c37}.statistics-panel h2{margin:0;font-size:16px}.statistics-panel header small{display:block;margin-top:2px;color:#76859a;font-size:10px}.statistics-panel header>b{padding:5px 7px;border-radius:999px;background:#eef3f8;color:#5c7088;font-size:10px;white-space:nowrap}.statistics-ranking-list{display:grid}.statistics-rank-row{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:8px 12px;border-bottom:1px solid #edf1f5}.statistics-rank-row:last-child{border-bottom:0}.statistics-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f0f4f8;color:#66768a;font-size:10px;font-weight:950}.statistics-rank-row.top-rank .statistics-rank{background:#fff1c6;color:#8b6200}.statistics-person{display:grid;min-width:0;gap:3px}.statistics-person strong,.statistics-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-person strong{font-size:12px}.statistics-person small{font-size:10px}.statistics-value{display:grid;min-width:43px;padding:6px 8px;border-radius:9px;background:#eaf3ff;color:#1765c5;font-size:16px;text-align:center}.statistics-value small{margin-top:1px;color:#5b7798;font-size:10px;text-transform:uppercase}.statistics-card-counts{display:flex;gap:8px}.statistics-card-counts>span{display:flex;align-items:center;gap:4px;min-width:34px;font-size:11px}.mini-card{width:10px;height:15px;flex:0 0 10px}.statistics-empty{padding:28px 12px}

@media(max-width:760px){
  .player-mobile-page,.standings-mobile-page,.penalties-mobile-page,.statistics-mobile-page{overflow-x:clip}.player-mobile-page>*,.standings-mobile-page>*,.penalties-mobile-page>*,.statistics-mobile-page>*{max-width:100%;min-width:0}
  .player-profile-head{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-bottom:8px}.player-identity{display:grid;grid-template-columns:49px minmax(0,1fr);gap:8px}.player-avatar{width:49px;height:49px;flex-basis:49px;border-width:3px;border-radius:13px}.player-avatar span{font-size:17px}.player-team-link{margin-bottom:2px;font-size:10px}.player-profile-head h1{display:-webkit-box;overflow:hidden;font-size:16px;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}.player-profile-head h1 small{font-size:10px}.player-profile-head p{display:flex;align-items:center;gap:5px;margin:3px 0 0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.player-status{margin:0;padding:3px 6px;font-size:10px}.player-head-actions{display:flex;justify-content:flex-end;width:100%;gap:var(--tg-space-2)}.player-more-button{width:var(--tg-touch-min);height:var(--tg-touch-min);min-height:var(--tg-touch-min)!important;flex:0 0 var(--tg-touch-min);padding:0!important}.player-action-menu{top:49px;min-width:145px;padding:4px}.player-action-menu button{padding:8px;font-size:10px}
  .player-stat-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:8px;padding:5px;border-radius:11px}.player-stat-strip>div{padding:4px 1px!important;border-right:1px solid rgba(255,255,255,.1)!important;border-bottom:0!important}.player-stat-strip>div:last-child{border-right:0!important}.player-stat-strip span{font-size:10px}.player-stat-strip strong{margin:1px 0;font-size:15px}.player-stat-strip small{overflow:hidden;font-size:10px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.player-tabs-panel{border-radius:11px}.player-tab-content{padding:8px!important}.player-info-list>div{padding:8px 2px}.player-info-list dt,.player-info-list dd{font-size:10px}.player-info-list dd{max-width:65%;overflow-wrap:anywhere}.player-subtitle{margin:0 0 7px;font-size:11px}.player-subtitle:not(:first-child){margin-top:12px}.empty.compact{padding:12px;font-size:10px}
  .player-simple-table{width:100%;max-width:100%;overflow:visible!important}.player-simple-table table{display:block;width:100%!important;min-width:0!important;max-width:100%!important}.player-simple-table thead{display:none}.player-simple-table tbody{display:grid;width:100%;gap:6px}.player-simple-table tr{display:grid;width:100%;padding:7px;border:1px solid #dfe6ee;border-radius:9px;background:#fff}.player-simple-table td{min-width:0;padding:0!important;border:0!important;font-size:10px}.player-match-history tr{grid-template-columns:auto minmax(0,1fr) auto auto;gap:4px 7px}.player-match-history td:nth-child(1){grid-column:1/3;color:#718096;font-size:10px}.player-match-history td:nth-child(2){grid-column:1/-1;grid-row:2;overflow:hidden;padding:6px 0!important;border-top:1px solid #edf1f5!important;font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.player-match-history td:nth-child(3){grid-column:3/5;grid-row:1;justify-self:end;padding:3px 6px!important;border-radius:7px!important;background:#eef4fb;font-weight:900}.player-match-history td:nth-child(4),.player-match-history td:nth-child(5){grid-row:3;padding-top:3px!important}.player-match-history td:nth-child(4):before{content:"Gol: ";color:#718096;font-size:10px}.player-match-history td:nth-child(5){grid-column:3/5;justify-self:end}.player-card-history tr{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px}.player-card-history td:nth-child(1){color:#718096;font-size:10px}.player-card-history td:nth-child(2){grid-column:1/-1;grid-row:2;overflow:hidden;padding-top:6px!important;border-top:1px solid #edf1f5!important;text-overflow:ellipsis;white-space:nowrap}.player-card-history td:nth-child(3){grid-column:3;grid-row:1}.player-card-history td:nth-child(4){grid-column:2;grid-row:1;justify-self:end;color:#53667d}.player-penalty-history tr{grid-template-columns:1fr auto auto;align-items:center;gap:5px}.player-penalty-history td:nth-child(1){font-size:10px;font-weight:850}.player-penalty-history td:nth-child(4){grid-column:3;grid-row:1;padding:3px 5px!important;border-radius:999px!important;background:#eef3f8;font-size:10px;font-weight:850}.player-penalty-history td:nth-child(2),.player-penalty-history td:nth-child(3){grid-row:2;color:#65758a}.player-penalty-history td:nth-child(2):before{content:"Toplam ";font-size:10px}.player-penalty-history td:nth-child(3):before{content:"Çekilen ";font-size:10px}.player-penalty-history td:nth-child(5){grid-column:1/-1;grid-row:3;padding-top:5px!important;border-top:1px solid #edf1f5!important;color:#66768a}.player-modal{align-items:end;padding:0}.player-modal-card{width:100%;max-height:88vh;overflow:auto;padding:14px;border-radius:16px 16px 0 0}.player-modal-head{margin-bottom:10px}.player-modal-head h2{font-size:15px}.player-modal-card form{gap:8px}.player-modal-card label{gap:4px;font-size:10px}.player-modal-actions>*{min-height:36px;padding:7px 10px;font-size:10px}

  .draw-section-title{margin-bottom:7px}.draw-section-title h2{font-size:15px}.draw-section-title p{font-size:10px}.draw-method-selector{gap:3px;margin:8px 0 7px;padding:3px;border-radius:10px}.draw-method-selector button{gap:3px;min-height:38px;padding:4px 3px;border-radius:7px}.draw-method-selector button span{width:18px;height:18px;flex-basis:18px;border-radius:5px;font-size:10px}.draw-method-selector button strong{font-size:10px}.draw-method-panel{grid-template-columns:1fr;gap:9px;min-height:0;padding:10px;border-radius:10px}.draw-method-panel h3{margin-bottom:2px;font-size:13px}.draw-method-panel p{font-size:10px;line-height:1.35}.draw-method-panel form,.draw-method-controls{gap:6px}.draw-method-panel button{min-height:36px;padding:7px 9px;font-size:10px}.draw-delay-label,.draw-key-hint{font-size:10px}.draw-key-hint{padding:7px}.draw-range-marks{font-size:10px}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}.group-box{min-width:0;padding:8px!important;border-radius:10px!important}.group-box h3{font-size:11px}.draw-team{overflow:hidden;padding:6px!important;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
  .draw-presentation-head{gap:7px;padding:8px}.draw-presentation-head>div:first-child{min-width:0}.draw-presentation-head span{font-size:10px}.draw-presentation-head strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.draw-presentation-actions{gap:4px}.draw-presentation-actions button{padding:6px;font-size:10px}.draw-presentation-main{gap:8px;padding:8px}.draw-stage-meta{margin-bottom:6px;font-size:10px}.draw-spinner-card{min-height:170px;padding:11px;border-radius:14px}.draw-logo{width:58px;height:58px;font-size:18px}.draw-spinning-name{margin-top:9px;font-size:18px}.draw-reveal-group{min-height:22px;margin-top:5px;font-size:13px}.draw-countdown{height:25px;margin-top:5px;font-size:17px}.draw-select-button{min-width:150px;margin-top:4px;padding:9px;font-size:11px}.draw-help{margin:6px 0;font-size:10px}.draw-live-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.draw-live-groups h3{padding:7px;font-size:10px}.draw-live-groups section>div{min-height:35px;padding:3px 6px}.draw-live-groups p{grid-template-columns:21px minmax(0,1fr);gap:4px;padding:4px 0}.draw-live-groups img,.draw-live-groups i{width:20px;height:20px;font-size:10px}.draw-live-groups b{font-size:10px}.draw-live-groups em{padding:6px 1px;font-size:10px}.draw-presentation-footer{gap:5px;padding:7px 8px;font-size:10px}.draw-presentation-footer button{padding:6px;font-size:10px}

  .standings-mobile-page .v3-section-head,.penalties-mobile-page .v3-section-head,.statistics-mobile-page .v3-section-head{gap:3px;margin-bottom:8px}.standings-mobile-page .v3-section-head h1,.penalties-mobile-page .v3-section-head h1,.statistics-mobile-page .v3-section-head h1{margin:1px 0 2px;font-size:21px}.standings-mobile-page .v3-section-head p,.penalties-mobile-page .v3-section-head p,.statistics-mobile-page .v3-section-head p{font-size:10px;line-height:1.3}.standings-filter-tabs{display:flex;width:100%;gap:4px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none}.standings-filter-tabs::-webkit-scrollbar{display:none}.standings-filter-tabs a{flex:0 0 auto;padding:6px 9px;font-size:10px}.standings-group-list{gap:var(--tg-space-2)}.standings-group-head{padding:var(--tg-space-3)}.standings-group-identity{gap:var(--tg-space-2)}.standings-group-head small{font-size:var(--tg-font-xs)}.standings-table-wrap{width:100%;max-width:100%;overflow:visible!important}.standings-mobile-table{display:block;width:100%!important;min-width:0!important;max-width:100%!important}.standings-mobile-table thead{display:none}.standings-mobile-table tbody{display:grid;width:100%}.standings-mobile-table tr{display:grid;grid-template-columns:23px minmax(82px,1fr) repeat(5,23px) 33px;align-items:center;gap:2px;width:100%;min-height:48px;padding:5px 7px;border-bottom:1px solid var(--tg-color-border)}.standings-mobile-table tr:last-child{border-bottom:0}.standings-mobile-table td{min-width:0;padding:0!important;border:0!important;background:transparent!important;text-align:center}.standings-mobile-table tr.is-qualified{background:color-mix(in srgb,var(--tg-qualify-accent,var(--tg-status-success)) 12%,var(--tg-standings-surface,var(--tg-color-surface)))}.standings-mobile-table tr.is-qualified td:first-child{box-shadow:none}.standings-rank{color:var(--tg-color-muted)!important;font-size:10px;font-weight:var(--tg-font-weight-black)}.standings-team{overflow:hidden;padding:0 3px!important;text-align:left!important}.standings-team strong,.standings-team a{display:-webkit-box;overflow:hidden;color:var(--tg-color-text);font-size:11px;font-weight:var(--tg-font-weight-bold);line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.standings-stat{font-size:10px;font-weight:850}.standings-stat:before{content:attr(data-label);display:block;margin-bottom:1px;color:var(--tg-color-muted);font-size:10px;font-weight:800}.standings-goal-detail{display:none!important}.standings-points{font-size:11px;font-weight:var(--tg-font-weight-black)}.standings-points strong{line-height:1}.standings-points small{display:block;margin-top:1px;font-size:10px}.standings-group-card .standings-legend{padding:var(--tg-space-2) var(--tg-space-3);font-size:10px}.standings-legend span{width:13px;height:7px}.standings-empty{padding:17px 8px}.standings-empty h3{font-size:12px}.standings-empty p{font-size:10px}

  .penalty-summary{gap:5px;margin-bottom:8px}.penalty-summary>div{justify-content:center;gap:5px;padding:7px 4px;border-radius:9px}.penalty-summary strong{width:28px;height:28px;border-radius:8px;font-size:13px}.penalty-summary span{font-size:10px}.penalty-create-panel{margin-bottom:8px;border-radius:11px}.penalty-create-panel>summary{grid-template-columns:32px minmax(0,1fr) 27px;gap:7px;padding:8px}.penalty-create-panel>summary>span{width:32px;height:32px;border-radius:8px}.penalty-create-panel>summary>span svg{width:17px;height:17px}.penalty-create-panel>summary strong{font-size:11px}.penalty-create-panel>summary small{font-size:10px}.penalty-create-panel>summary>b{width:27px;height:27px;font-size:17px}.penalty-create-content{padding:0 8px 8px}.penalty-create-content .grid{gap:0}.penalty-create-content label{margin-top:7px;font-size:10px}.penalty-create-content input,.penalty-create-content select,.penalty-create-content textarea{min-height:var(--tg-control-height)}.penalty-create-content .v3-form-actions{margin-top:7px}.penalty-create-content .tg-btn{min-height:36px;font-size:10px}.penalty-list-panel{border-radius:11px}.penalty-list-head{align-items:flex-end;padding:8px}.penalty-list-head h2{font-size:12px}.penalty-list-head small{font-size:10px}.penalty-filter-tabs{gap:2px;padding:2px}.penalty-filter-tabs button{padding:5px 6px;font-size:10px}.penalty-card-list{gap:6px;padding:7px}.penalty-record{grid-template-columns:36px minmax(0,1fr);gap:7px;padding:8px;border-radius:10px}.penalty-record-icon{width:36px;height:36px;border-radius:9px}.penalty-record-icon .card-visual{transform:scale(.82)}.penalty-symbol{width:23px;height:26px;font-size:10px}.penalty-record-title{gap:4px}.penalty-record-title strong{font-size:10px}.penalty-record-title small{font-size:10px}.penalty-status{padding:3px 5px;font-size:10px}.penalty-type-label{margin:3px 0;font-size:10px}.penalty-progress{gap:5px}.penalty-progress>span{min-width:45px;height:4px}.penalty-progress small{font-size:10px}.penalty-record-main p{margin-top:5px;padding-top:4px;font-size:10px}.penalty-cancel-form{grid-column:2;justify-self:end;margin-top:-1px}.penalty-cancel-form button{min-height:27px;padding:4px 7px;font-size:10px}

  .statistics-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px;margin-bottom:8px}.statistics-summary>div{display:grid;grid-template-columns:28px minmax(0,1fr);min-height:58px;gap:0 5px;padding:7px}.statistics-summary>div>span{grid-row:1/3;width:28px;height:28px;border-radius:8px}.statistics-summary>div>span svg{width:15px;height:15px}.statistics-summary strong{font-size:16px}.statistics-summary small{font-size:10px;line-height:1.1}.statistics-grid{grid-template-columns:1fr;gap:8px}.statistics-panel{border-radius:11px}.statistics-panel>header{padding:8px}.statistics-panel>header>div{gap:6px}.statistics-panel>header>div>span{width:29px;height:29px;flex-basis:29px;border-radius:8px}.statistics-panel>header svg{width:16px;height:16px}.statistics-panel h2{font-size:12px}.statistics-panel header small{font-size:10px}.statistics-panel header>b{padding:4px 6px;font-size:10px}.statistics-rank-row{grid-template-columns:27px minmax(0,1fr) auto;gap:6px;min-height:48px;padding:6px 8px}.statistics-rank{width:24px;height:24px;border-radius:7px;font-size:10px}.statistics-person{gap:2px}.statistics-person strong{font-size:10px}.statistics-person small{font-size:10px}.statistics-value{min-width:35px;padding:5px 6px;border-radius:8px;font-size:13px}.statistics-value small{font-size:10px}.statistics-card-counts{gap:6px}.statistics-card-counts>span{min-width:28px;gap:3px;font-size:10px}.mini-card{width:8px;height:12px;flex-basis:8px}.statistics-empty{padding:19px 8px}.statistics-empty h3{font-size:12px}.statistics-empty p{font-size:10px}
}

@media(max-width:390px){
  .player-stat-strip small{font-size:10px}.draw-method-selector button{gap:2px}.draw-method-selector button strong{font-size:10px}.standings-mobile-table tr{grid-template-columns:22px minmax(70px,1fr) repeat(5,21px) 31px;padding-inline:5px}.standings-team strong,.standings-team a{font-size:10px}.penalty-summary>div{flex-direction:column;gap:2px}.penalty-summary strong{width:25px;height:25px}.statistics-summary>div{grid-template-columns:25px minmax(0,1fr);gap:0 4px;padding:6px}.statistics-summary>div>span{width:25px;height:25px}.statistics-card-counts{gap:4px}
}

/* v6.19.0 — kura grupları */
/* PAKET B — ESKİ 8 SABİT GRUP TONU KALDIRILDI (tone-0..7): her gruba
   rastgele renk vermek kimlik değil gürültüydü ve tone-4 (kırmızımsı)
   durum renkleriyle karışıyordu. Klasik TurnuvaGo detayı (eğim, üst
   şerit, köşe dairesi) KORUNUR ama rengini format ailesinin tema
   rolünden alır. `!important` de kaldırıldı: artık ezilecek bir şey yok. */
.draw-result-card{position:relative;overflow:hidden;
  border-top:4px solid var(--tg-format-accent,#1765c5);
  box-shadow:0 7px 18px color-mix(in srgb,var(--tg-format-accent,#1765c5) 10%,transparent)}
.draw-result-card:after{content:"";position:absolute;right:-26px;top:-34px;width:88px;height:88px;
  border-radius:50%;background:color-mix(in srgb,var(--tg-format-accent,#1765c5) 8%,transparent);pointer-events:none}
.draw-result-card>*{position:relative;z-index:1}

/* v6.19.0 — hakem atama */

/* v6.19.0 — puan durumu seçici ve ayrıntılar */
.standings-group-picker{margin:0 0 var(--tg-space-3);border:1px solid var(--tg-color-border);border-radius:var(--tg-radius-md);background:var(--tg-color-surface);overflow:hidden}.standings-group-picker>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;list-style:none;cursor:pointer}.standings-group-picker>summary::-webkit-details-marker{display:none}.standings-group-picker>summary span{color:var(--tg-color-muted);font-size:10px;font-weight:900;text-transform:uppercase}.standings-group-picker>summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.standings-group-picker>summary b{font-size:17px;transition:transform .18s ease}.standings-group-picker[open]>summary b{transform:rotate(180deg)}.standings-group-picker nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:var(--tg-space-2);border-top:1px solid var(--tg-color-border);background:var(--tg-surface-soft)}.standings-group-picker nav a{display:grid;place-items:center;min-width:0;min-height:36px;padding:5px;border:1px solid var(--tg-color-border);border-radius:var(--tg-radius-sm);background:var(--tg-color-surface);color:var(--tg-color-text);font-size:11px;font-weight:850;text-align:center}.standings-group-picker nav a.active{border-color:var(--tg-action-primary);background:var(--tg-action-primary);color:var(--tg-action-primary-text)}.standings-group-identity h2{margin:0}.standings-expand-button{display:inline-flex;align-items:center;gap:var(--tg-space-1);flex:0 0 auto;min-height:var(--tg-touch-min);border:0;border-radius:var(--tg-radius-sm);padding:0 var(--tg-space-2);background:transparent;color:var(--tg-color-muted);font-size:var(--tg-font-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:color .16s ease,background .16s ease}.standings-expand-button:hover{color:var(--tg-color-text);background:color-mix(in srgb,var(--tg-action-primary) 8%,transparent)}.standings-expand-button[aria-expanded=true]{color:var(--tg-action-primary)}.standings-expand-button:focus-visible{outline:3px solid var(--tg-focus-ring);outline-offset:2px}.standings-expand-button b{font-size:var(--tg-font-sm);line-height:1;transition:transform .18s ease}.standings-expand-button[aria-expanded=true] b{transform:rotate(180deg)}.standings-column-head{display:none}

/* v6.19.0 — ceza akordiyonu ve güvenli iptal */
.penalty-record{display:block;padding:0}.penalty-record>summary::-webkit-details-marker{display:none}.penalty-record-summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;list-style:none;cursor:pointer}.penalty-detail-toggle{display:inline-flex;align-items:center;gap:5px;align-self:center;padding:5px 7px;border-radius:8px;background:#eef4fb;color:#245784;font-size:10px}.penalty-detail-toggle i{font-size:14px;font-style:normal;transition:transform .18s ease}.penalty-record[open] .penalty-detail-toggle i{transform:rotate(180deg)}.penalty-record-details{padding:0 11px 11px;border-top:1px solid #e8edf3}.penalty-record-details .penalty-match-plan{margin-top:10px}.penalty-cancellation-audit{display:grid;gap:4px;margin-top:9px;padding:10px;border:1px solid #dce3eb;border-radius:9px;background:#f4f6f8}.penalty-cancellation-audit strong{font-size:11px}.penalty-cancellation-audit span{color:#44586f;font-size:11px;line-height:1.4}.penalty-cancellation-audit small{color:#768598;font-size:10px}.penalty-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px;border:1px solid #efd5d8;border-radius:9px;background:#fff7f8}.penalty-danger-zone>div{display:grid;gap:2px}.penalty-danger-zone strong{font-size:11px;color:#922b35}.penalty-danger-zone small{color:#7c6065;font-size:10px}.penalty-cancel-trigger{min-height:36px;border:1px solid #d56b76;border-radius:8px;padding:6px 9px;background:#fff;color:#a92935;font-size:10px;font-weight:900;cursor:pointer}.penalty-cancel-dialog{width:min(470px,calc(100vw - 20px));border:0;border-radius:17px;padding:0;box-shadow:0 24px 70px rgba(10,26,45,.28)}.penalty-cancel-dialog::backdrop{background:rgba(7,21,38,.62);backdrop-filter:blur(2px)}.penalty-cancel-dialog form{display:grid;gap:13px;padding:18px}.penalty-cancel-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.penalty-cancel-dialog header span{color:#b12d3a;font-size:10px;font-weight:950;letter-spacing:.08em}.penalty-cancel-dialog h2{margin:3px 0 0;font-size:20px}.penalty-cancel-dialog header>button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:9px;background:#f0f3f7;font-size:22px;cursor:pointer}.penalty-cancel-dialog p{margin:0;color:#5e6f84;font-size:12px;line-height:1.45}.penalty-cancel-dialog label{display:grid;gap:6px;color:#243a55;font-size:12px;font-weight:850}.penalty-cancel-dialog textarea{width:100%;border:1px solid #ccd8e5;border-radius:10px;padding:10px;resize:vertical}.penalty-cancel-ack{grid-template-columns:20px minmax(0,1fr)!important;align-items:start}.penalty-cancel-ack input{width:18px;height:18px;margin:1px 0}.penalty-cancel-ack span{font-size:11px;line-height:1.4}.penalty-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.penalty-dialog-actions button{min-height:42px;border:0;border-radius:9px;font-weight:900;cursor:pointer}.penalty-dialog-actions .danger{background:#b42331;color:#fff}

@media(max-width:620px){
  .standings-group-picker nav{grid-template-columns:repeat(4,minmax(0,1fr))}.standings-column-head{display:grid;grid-template-columns:23px minmax(82px,1fr) repeat(5,23px) 33px;align-items:center;gap:2px;padding:5px 7px;border-bottom:1px solid var(--tg-color-border);background:var(--tg-color-page);color:var(--tg-color-muted);font-size:10px;font-weight:var(--tg-font-weight-black);text-align:center}.standings-column-head span:nth-child(2){text-align:left}.standings-mobile-table tr{grid-template-columns:23px minmax(82px,1fr) repeat(5,23px) 33px}.standings-stat:before{content:none!important;display:none!important}.standings-group-card.is-expanded .standings-column-head,.standings-group-card.is-expanded .standings-mobile-table tr{grid-template-columns:23px minmax(70px,1fr) repeat(7,21px) 31px}.standings-group-card.is-expanded .standings-column-head span.standings-goal-detail{display:block!important}.standings-group-card.is-expanded td.standings-goal-detail{display:block!important}.standings-group-head{padding:var(--tg-space-2) var(--tg-space-3)}.standings-expand-button{padding:0 var(--tg-space-1);font-size:var(--tg-font-xs)}
  .penalty-record-summary{grid-template-columns:36px minmax(0,1fr) auto;gap:7px;padding:8px}.penalty-detail-toggle{padding:4px 5px}.penalty-detail-toggle b{display:none}.penalty-record-details{padding:0 8px 8px}.penalty-danger-zone{align-items:stretch;flex-direction:column}.penalty-cancel-trigger{width:100%}.penalty-cancel-dialog form{padding:14px}.penalty-dialog-actions{grid-template-columns:1fr}
}

/*
 * K-3 / 621–760 px DÜZELTMESİ — GENİŞLETİLMİŞ IZGARA TÜM MOBİL BANTTA.
 *
 * BULGU: "Detaylar" ile açılan AG/YG sütunlarının ızgara şablonu
 * YALNIZ @media(max-width:620px) içinde tanımlıydı. 621–760 px
 * aralığında satır 8 sütunluk ızgarada kalıyor, açılan iki hücre
 * ikinci sıraya sarıyordu. Şablon artık mobil kart düzeninin
 * TAMAMINI kapsayan banda taşındı; ≤620 bloğundaki (aynı değerli)
 * kurallar sütun başlığı şeridi için orada kalır.
 *
 * Seçici özgüllüğü (.is-expanded taşıyan iki sınıf) dar bant
 * ayarlarından yüksektir; 390/360 bloklarının kompakt ayarları
 * kapalı durumda AYNEN yürürlüktedir.
 */
@media(max-width:760px){
  .standings-group-card.is-expanded .standings-mobile-table tr{grid-template-columns:23px minmax(70px,1fr) repeat(7,21px) 31px}
  .standings-group-card.is-expanded td.standings-goal-detail{display:block!important}
}
@media(max-width:360px){.standings-group-picker nav{grid-template-columns:repeat(3,minmax(0,1fr))}.standings-column-head,.standings-mobile-table tr{grid-template-columns:22px minmax(66px,1fr) repeat(5,20px) 29px}.standings-group-card.is-expanded .standings-column-head,.standings-group-card.is-expanded .standings-mobile-table tr{grid-template-columns:21px minmax(58px,1fr) repeat(7,18px) 27px}}

.standings-points small{display:none!important}
.live-referee-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:8px;background:#edf4fb;color:#315a84;font-size:10px}.live-referee-chip strong{color:#173b61}

/* v6.20.0: compact fixture planning, penalty approval and venues */
.program-referee-history{border-top:1px dashed #dce5ee;padding-top:6px}.program-referee-history>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#536a82;font-size:10px;font-weight:900;cursor:pointer}.program-referee-history>summary b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:7px;background:#edf2f7;font-size:10px}.program-referee-history>div{display:grid;gap:4px;margin-top:6px}.program-referee-history p{display:grid;grid-template-columns:90px minmax(0,1fr);gap:2px 6px;margin:0;padding:6px;border-radius:7px;background:#f5f8fb}.program-referee-history p strong,.program-referee-history p span{font-size:10px}.program-referee-history p small{grid-column:1/-1;color:#718196;font-size:10px}
.program-planning-details{grid-column:1/-1;width:100%;margin-top:5px;border:1px solid #dce6f1;border-radius:11px;background:#f8fbfe;overflow:hidden}.program-planning-details>summary{display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:7px;min-height:38px;padding:6px 8px;list-style:none;color:#284866;cursor:pointer}.program-planning-details>summary::-webkit-details-marker{display:none}.program-planning-details>summary span{font-size:11px;font-weight:850}.program-planning-details>summary small{overflow:hidden;color:#70839a;font-size:10px;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap}.program-planning-details>summary b{display:grid;place-items:center;justify-self:end;width:30px;height:30px;border-radius:8px;background:#e8f1fb;color:#1765c5;font-size:16px;font-style:normal;transition:transform .18s}.program-planning-details[open]>summary b{transform:rotate(180deg)}.program-planning-body{display:grid;gap:7px;padding:7px;border-top:1px solid #e1e9f2;background:#fff}.program-schedule-form,.program-referee-team-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:7px;border:1px solid #e1e8f0;border-radius:9px;background:#f9fbfd}.program-schedule-form label,.program-referee-team-form label{display:grid;gap:3px;margin:0;color:#60748c;font-size:10px;font-weight:750}.program-schedule-form input,.program-schedule-form select,.program-referee-team-form select,.program-referee-team-form textarea{width:100%;min-height:34px;margin:0;border:1px solid #d4dfeb;border-radius:8px;padding:5px 7px;background:#fff;color:#18324e;font-family:inherit;font-size:11px;font-weight:650}.program-referee-team-form>label:first-of-type{grid-column:1/-1}.program-referee-slots{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;gap:6px}.program-referee-slots>[hidden]{display:none!important}.program-conflict-ack{grid-column:1/-1!important;display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:start!important;gap:5px!important;line-height:1.3}.program-conflict-ack input{width:16px!important;height:16px!important;min-height:0!important}.program-schedule-form>button,.program-referee-team-form>button{grid-column:1/-1;min-height:34px;border:0;border-radius:8px;background:#176bd3;color:#fff;font-size:10px;font-weight:900}.program-referee-readonly{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.program-referee-readonly span{display:grid;gap:1px;padding:6px 7px;border-radius:8px;background:#edf4fb}.program-referee-readonly small{color:#6a7e94;font-size:10px}.program-referee-readonly strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.program-planning-close{min-height:32px;border:1px solid #d8e3ee;border-radius:8px;background:#f1f5f9;color:#3f5872;font-size:10px;font-weight:850}
.penalty-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.penalty-summary .pending strong{background:#eef0ff;color:#5657bd}.penalty-record.status-pending_approval{border-left:4px solid #6869cf}.penalty-status.status-pending_approval{background:#eeefff;color:#5556b7}.penalty-approval-audit{display:grid;gap:3px;margin-top:9px;padding:8px;border-radius:8px;background:#f1f5fb;color:#5c7087;font-size:10px}.penalty-approve-form{margin-top:8px}.penalty-approve-form button{width:100%;min-height:36px;border:0;border-radius:8px;background:#197448;color:#fff;font-size:10px;font-weight:900}.penalty-detail-toggle{justify-self:end;min-width:31px}.penalty-record-summary{grid-template-columns:48px minmax(0,1fr) auto}.draw-result-card h3 a{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;color:inherit;text-decoration:none}.draw-result-card h3 a span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--group-accent) 12%,#fff);font-size:17px}.draw-result-card a.draw-team{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#17324e;text-decoration:none}.draw-result-card a.draw-team b{color:var(--group-accent);font-size:16px}.draw-result-card a.draw-team:hover{background:#fff}
.venue-create-form{padding:12px;border:1px solid #dfe7f0;border-radius:11px;background:#f8fbfe}.venue-management-list{display:grid;gap:9px;margin-top:12px}.venue-management-card{border:1px solid #dce5ef;border-radius:11px;background:var(--tg-surface);overflow:hidden}.venue-management-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;list-style:none;cursor:pointer}.venue-management-card>summary::-webkit-details-marker{display:none}.venue-management-card>summary span{min-width:0}.venue-management-card>summary strong,.venue-management-card>summary small{display:block}.venue-management-card>summary strong{font-size:13px}.venue-management-card>summary small{overflow:hidden;margin-top:2px;color:#718196;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.venue-management-card>summary>b{padding:4px 7px;border-radius:999px;font-size:10px}.venue-management-card>summary>b.status-active{background:#e7f7ee;color:#157448}.venue-management-card>summary>b.status-inactive{background:#eef1f4;color:#657386}.venue-management-card>div{display:grid;gap:8px;padding:9px;border-top:1px solid #e5ebf2}.venue-area-add{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px}.venue-area-add label{margin:0}.venue-area-add input{min-height:36px;margin:3px 0 0}.venue-area-add button,.venue-toggle-form button,.venue-area-list button{min-height:34px;border:1px solid #cdddec;border-radius:8px;padding:5px 9px;background:#eef5fc;color:#185d9e;font-size:10px;font-weight:900}.venue-area-list{display:grid;gap:5px}.venue-area-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border-radius:8px;background:#f6f9fc}.venue-area-list strong,.venue-area-list small{display:block}.venue-area-list strong{font-size:11px}.venue-area-list small{color:#748397;font-size:10px}.venue-toggle-form{padding-top:7px;border-top:1px dashed #dfe6ee}.venue-toggle-form button{width:100%}

@media(max-width:600px){.program-planning-details{margin-top:3px}.program-planning-body{padding:6px}.program-schedule-form,.program-referee-team-form{grid-template-columns:1fr;padding:7px}.program-schedule-form>*,.program-referee-team-form>*,.program-referee-slots{grid-column:1!important}.program-referee-slots{grid-template-columns:1fr 1fr}.penalty-record-summary{grid-template-columns:36px minmax(0,1fr) 31px}.penalty-detail-toggle{display:grid;place-items:center;width:31px;height:31px;padding:0}.penalty-detail-toggle b{display:none}.penalty-summary>div{min-width:0}.penalty-summary span{overflow:hidden;max-width:100%;text-overflow:ellipsis}.venue-create-form{padding:8px}.venue-create-form .grid{gap:0}.venue-create-form button{width:100%;min-height:36px}.venue-management-card>summary{padding:8px}.venue-management-card>div{padding:7px}.venue-area-add{grid-template-columns:1fr}.venue-area-add button{width:100%}}

/* v6.129.0 (Phase 7C) — ceza kartı içindeki süre düzeltmesi ve geçmişi.
   Ceza kartının içi KOMPAKT bir bağlamdır (.penalty-note /
   .penalty-cancellation-audit ile aynı ölçek); ayarlar panelinin büyük
   form tipografisi buraya taşınmamalıdır. */
.penalty-adjust-panel{margin-top:9px;padding:9px;border:1px solid #e3e9f0;border-radius:9px;background:#fafbfd}
.penalty-adjust-panel>summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;color:#245784;font-size:11px;font-weight:900}
.penalty-adjust-panel>summary::-webkit-details-marker{display:none}
.penalty-adjust-panel>summary:after{content:'⌄';margin-left:auto;font-size:13px;transition:transform .18s ease}
.penalty-adjust-panel[open]>summary:after{transform:rotate(180deg)}
.penalty-adjust-panel label{display:block;margin-top:7px;color:#38516f;font-size:11px;font-weight:800}
.penalty-adjustment-history{display:grid;gap:6px;margin-top:9px;padding:10px;border:1px solid #dce3eb;border-radius:9px;background:#f4f6f8}
.penalty-adjustment-history>strong{font-size:11px}
.penalty-adjustment-row{display:grid;gap:2px}
.penalty-adjustment-row span{color:#243d5b;font-size:11px;font-weight:800}
.penalty-adjustment-row em{color:#44586f;font-size:11px;font-style:normal;line-height:1.4}
.penalty-adjustment-row small{color:#7a8a9c;font-size:10px}

/* v6.162.0 (Cezalar Faz B) — hedef türü / süre modu rozetleri ve
   enforcement askısı. Askı İPTAL DEĞİLDİR: bu yüzden tehlike bölgesinin
   kırmızısını DEĞİL, "beklemede" anlamına gelen amber tonunu kullanır ve
   ceza kartının kompakt ölçeğinde kalır. */
.penalty-target-badge,.penalty-duration-badge,.penalty-suspended-badge{display:inline-block;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:900;vertical-align:middle}
.penalty-target-badge{background:#eef0ff;color:#4a4bb5}
.penalty-duration-badge{background:#eaf2fb;color:#245784}
.penalty-suspended-badge{background:#fdf1dc;color:#8a5b00}
.penalty-record.status-active .penalty-suspended-badge{box-shadow:inset 0 0 0 1px rgba(138,91,0,.22)}
.penalty-suspend-panel{margin-top:9px;padding:9px;border:1px solid #f0e0c2;border-radius:9px;background:#fffcf5}
.penalty-suspend-panel>summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer;color:#8a5b00;font-size:11px;font-weight:900}
.penalty-suspend-panel>summary::-webkit-details-marker{display:none}
.penalty-suspend-panel>summary:after{content:'⌄';margin-left:auto;font-size:13px;transition:transform .18s ease}
.penalty-suspend-panel[open]>summary:after{transform:rotate(180deg)}
.penalty-suspend-panel label{display:block;margin-top:7px;color:#38516f;font-size:11px;font-weight:800}
.penalty-suspend-panel textarea{width:100%;border:1px solid #ddd3bd;border-radius:8px;padding:8px;font-size:11px;resize:vertical}
.penalty-suspension-record{display:grid;gap:4px;margin-top:9px;padding:10px;border:1px solid #f0e0c2;border-radius:9px;background:#fffaf0}
.penalty-suspension-record strong{font-size:11px;color:#8a5b00}
.penalty-suspension-record span{color:#5c4a2c;font-size:11px;line-height:1.4}
.penalty-suspension-record small{color:#8d7d63;font-size:10px}

/* v6.133.0 (7E.3) — DİSİPLİN TÜRÜ KATALOĞU. Yerleşik üç türün stili
   YUKARIDA ve DEĞİŞMEDİ; buradaki kurallar yalnız katalogdan gelen ÖZEL
   türler ve katalog düzenleme formu içindir. Renk kullanıcı verisidir:
   her tür için sınıf üretilemeyeceğinden satır içi --tg-card-color ile
   taşınır (değer katalog doğrulayıcısında #rrggbb'ye kilitli). */
.card-visual.custom i{background:var(--tg-card-color,#6b7280)}
.badge.discipline-custom{background:var(--tg-card-color,#6b7280);color:#fff}
.event-color-chip{display:inline-block;width:14px;height:20px;border:1px solid rgba(15,23,42,.13);border-radius:2px;box-shadow:0 2px 5px rgba(15,23,42,.14);transform:rotate(4deg)}
.discipline-type-row{border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:10px;margin-bottom:10px}
.discipline-type-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.discipline-type-badge{padding:2px 7px;border-radius:999px;background:rgba(15,23,42,.08);font-size:10px}
.discipline-type-axes{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}
.discipline-color-input{width:48px;height:34px;padding:2px}
@media (max-width:430px){.discipline-type-row{padding:8px}.discipline-type-axes{gap:5px 10px}.discipline-color-input{width:44px;height:32px}}

/* ── Scheduling Engine S4 — Otomatik Programlama taslak paneli (fixtures.php), mobile-first ── */
/* v6.381.0 — kompakt tek satır: kart gölgesi/iç boşluğu yok, ince çerçeveli
   satır. Başlık + ":" + durum solda, ok en sağda; satır 44px dokunma
   hedefini korur, dar ekranda durum metni doğal olarak alt satıra kayar. */
.schedule-draft-panel{border:1px solid var(--tg-border);border-radius:var(--tg-radius-md);background:var(--tg-surface);padding:0 var(--tg-space-3);margin:0 0 var(--tg-space-3)}
.schedule-draft-panel > summary{display:flex;align-items:center;gap:.35rem;min-height:var(--tg-touch-min,44px);cursor:pointer;list-style:none;font-size:var(--tg-font-sm)}
.schedule-draft-panel > summary::-webkit-details-marker{display:none}
.schedule-draft-panel-title{font-weight:var(--tg-font-weight-bold,700);color:var(--tg-text)}
.schedule-draft-panel-title::after{content:":"}
.schedule-draft-panel-state{min-width:0;color:var(--tg-text-muted);font-size:inherit}
.schedule-draft-panel > summary > b{margin-left:auto;color:var(--tg-text-muted);transition:transform .15s}
.schedule-draft-panel[open] > summary > b{transform:rotate(180deg)}
.schedule-draft-panel > summary:focus-visible{outline:2px solid var(--tg-focus-ring,var(--tg-action-primary));outline-offset:2px;border-radius:var(--tg-radius-sm)}
.schedule-draft-body{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 0 var(--tg-space-3)}
.schedule-draft-generate{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}
.schedule-draft-generate label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;flex:1 1 12rem}
.schedule-draft-generate input[type=date]{min-height:2.5rem;padding:.35rem .5rem;border:1px solid rgba(0,0,0,.15);border-radius:.5rem;font:inherit}
.schedule-draft-list{display:flex;flex-direction:column;gap:.5rem}
.schedule-draft-card{border:1px solid rgba(0,0,0,.1);border-radius:.6rem;padding:.5rem .65rem;background:rgba(255,255,255,.6)}
.schedule-draft-card > summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;font-weight:600}
.schedule-draft-card > summary small{margin-left:auto;font-weight:400;opacity:.75;text-align:right}
.schedule-draft-card-body{padding-top:.5rem}
.schedule-draft-rows,.schedule-draft-unscheduled{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;max-height:22rem;overflow:auto}
.schedule-draft-rows li,.schedule-draft-unscheduled li{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:baseline;font-size:.9rem;padding:.25rem 0;border-bottom:1px dashed rgba(0,0,0,.08)}
.schedule-draft-rows li b{white-space:nowrap;font-variant-numeric:tabular-nums}
.schedule-draft-rows li small,.schedule-draft-unscheduled li small{opacity:.7;margin-left:auto}
.schedule-draft-reject{display:flex;justify-content:flex-end}
.program-protection-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem}
.program-protected-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:rgba(0,0,0,.08);font-size:.8rem}
@media (min-width:640px){.schedule-draft-generate label{flex:0 1 14rem}}
.schedule-draft-card > summary > span,.schedule-draft-panel > summary > span{white-space:nowrap}
.schedule-draft-card > summary small{flex:1 1 auto}
/* PD-68 — Otomatik Programlama › Planlama Ayarları. Sıra: başlanacak gün →
   Planlama Ayarları (açılır bölüm) → Öneri oluştur. Her saha ayrı küçük kart;
   gün satırları mobilde tek sütun (gün · başlangıç · bitiş), ≥761px iki sütun.
   Yalnız token. */
.schedule-draft-start{display:flex;flex-direction:column;gap:var(--tg-space-1);font-size:var(--tg-font-sm);max-width:16rem}
.schedule-draft-start input[type=date]{min-height:var(--tg-control-height);padding:.35rem .5rem;border:1px solid var(--tg-border);border-radius:var(--tg-radius-md);font:inherit}
.schedule-draft-generate-actions{display:flex}
.schedule-planning{border:1px solid var(--tg-border);border-radius:var(--tg-radius-md);background:var(--tg-surface-soft);padding:0 var(--tg-space-3);min-width:0}
.schedule-planning > summary{display:flex;align-items:center;gap:.35rem;min-height:var(--tg-touch-min,44px);cursor:pointer;list-style:none;font-size:var(--tg-font-sm)}
.schedule-planning > summary::-webkit-details-marker{display:none}
.schedule-planning > summary > span{font-weight:var(--tg-font-weight-bold);color:var(--tg-text);white-space:nowrap}
.schedule-planning > summary > small{min-width:0;color:var(--tg-text-muted)}
.schedule-planning > summary > b{margin-left:auto;color:var(--tg-text-muted);transition:transform .15s}
.schedule-planning[open] > summary > b{transform:rotate(180deg)}
.schedule-planning > summary:focus-visible{outline:2px solid var(--tg-action-primary);outline-offset:2px;border-radius:var(--tg-radius-sm)}
.schedule-planning [hidden]{display:none!important}
.schedule-planning-form{display:flex;flex-direction:column;gap:var(--tg-space-3);padding:0 0 var(--tg-space-3)}
.schedule-planning-rest,.schedule-planning-buffer{display:flex;flex-direction:column;gap:var(--tg-space-1);max-width:16rem}
.schedule-planning-rest label,.schedule-planning-buffer label{margin:0;font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-bold)}
.schedule-planning-rest input,.schedule-planning-buffer input{min-height:var(--tg-control-height);margin:0}
.schedule-planning-rest small,.schedule-planning-tz small{color:var(--tg-text-muted);font-size:var(--tg-font-xs);line-height:1.4}
.schedule-planning-venues{display:flex;flex-direction:column;gap:var(--tg-space-2);margin:0;padding:0;border:0;min-width:0}
.schedule-planning-venues > legend{padding:0;margin:0 0 var(--tg-space-1);font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-bold);color:var(--tg-text)}
.schedule-planning-tz{margin:0}
.schedule-planning-venue{border:1px solid var(--tg-border);border-radius:var(--tg-radius-md);background:var(--tg-surface);padding:var(--tg-space-2) var(--tg-space-3);min-width:0}
.schedule-planning-venue:has(> .check-line input:checked){border-color:var(--tg-action-primary);box-shadow:0 0 0 1px var(--tg-action-primary)}
.schedule-planning-venue > .check-line{margin:0;overflow-wrap:anywhere;font-size:var(--tg-font-md);line-height:1.35}
.schedule-planning-venue-rules{display:flex;flex-direction:column;gap:var(--tg-space-2);padding-top:var(--tg-space-2)}
.schedule-planning-days-title{margin:0;font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-bold);color:var(--tg-text)}
.schedule-planning-days{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tg-space-1)}
.schedule-planning-day{display:grid;grid-template-columns:5.2em minmax(0,1fr) minmax(0,1fr);gap:var(--tg-space-1);align-items:center;min-width:0;font-size:var(--tg-font-sm)}
.schedule-planning-day > span{color:var(--tg-text);overflow-wrap:anywhere}
.schedule-planning-day input[type=time]{width:100%;min-width:0;min-height:var(--tg-control-height);margin:0;padding:4px 6px;font-size:var(--tg-font-sm)}
.schedule-planning-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--tg-space-2);padding:var(--tg-space-3);border:1px dashed var(--tg-border);border-radius:var(--tg-radius-md)}
.schedule-planning-empty p{margin:0;font-size:var(--tg-font-md);line-height:1.4}
@media (min-width:761px){.schedule-planning-days{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--tg-space-4)}}

/* ═══ v6.164.0 — İstatistikler Faz 3 · v6.388.0 kompakt yeniden düzen ═══
   Yeni bir design system KURULMAZ: mevcut .v3-panel / .statistics-panel
   kalıpları + canonical token'lar. v6.388.0: ana sekmeler içerik türü
   (canonical .tg-tabbar); kapsam İKİNCİL, hafif segment grubu; 16 sütunlu
   takım tablosu yerine kompakt takım kartı (ana metrik ızgarası + Son 5 +
   native <details> içinde ikincil metrikler). */
.statistics-view-tabs{margin-bottom:10px}
/* ISTATISTIK-KAPSAM-ALT-SEKME-INCELTME (2026-10-30): public turnuva sayfasında kapsam satırı ortak alt sekme
   çubuğudur (`.statistics-scope-switch.tg-tabbar.tg-tabbar-sub`, etiket yok) ve ölçüsünü / aralığını oradan alır;
   aşağıdaki etiketli hap düzeni yalnız yönetim ve katılımcı görünümündedir. */
.statistics-scope-switch:not(.tg-tabbar){display:flex;align-items:center;gap:8px;min-width:0;margin:0 0 10px}
/* Public alt sekme satırı önceki kapsam satırıyla AYNI dikey aralıkta: ortak çubuğun `:not(:first-child)` üst boşluğu
   (.public-statistics-page ızgara aralığına eklenip satırlar arasını 20 → 32 px açıyordu — tarayıcı ölçümü) uygulanmaz. */
.statistics-scope-switch.tg-tabbar{margin:0 0 10px}
.statistics-scope-switch-label{flex:0 0 auto;color:var(--tg-text-muted);font-size:var(--tg-font-xs);font-weight:var(--tg-font-weight-bold)}
.statistics-scope-switch-options{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.statistics-scope-switch-options::-webkit-scrollbar{display:none}
/* Dokunma alanı 44px; görünen hap ::before ile ~32px — ana sekmelerden hafif. */
.statistics-scope-option{position:relative;isolation:isolate;display:inline-flex;flex:0 0 auto;align-items:center;min-height:var(--tg-touch-min);padding:0 12px;border-radius:var(--tg-radius-pill);color:var(--tg-text-muted);font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-bold);text-decoration:none;white-space:nowrap}
.statistics-scope-option::before{content:"";position:absolute;inset:6px 0;z-index:-1;border:1px solid transparent;border-radius:var(--tg-radius-pill)}
.statistics-scope-option:hover{color:var(--tg-text)}
.statistics-scope-option:hover::before{background:var(--tg-surface-soft)}
.statistics-scope-option.is-active{color:var(--tg-action-primary)}
.statistics-scope-option.is-active::before{border-color:color-mix(in srgb,var(--tg-action-primary) 35%,transparent);background:var(--tg-action-primary-soft)}
.statistics-scope-option:focus-visible{outline:2px solid var(--tg-focus-ring);outline-offset:-4px}
.statistics-scope-note{margin:8px 0 12px}
.statistics-team-panel{margin-bottom:14px}
.statistics-team-subtitle{margin:0;padding:12px 14px 0;color:var(--tg-text-muted);font-size:var(--tg-font-xs);line-height:1.4}
.statistics-team-panel>.tg-note{margin:10px 14px 0}
.statistics-team-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px;margin:0;padding:12px 14px 14px;list-style:none}
.statistics-team-card{display:grid;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--tg-border);border-radius:var(--tg-radius-md);background:var(--tg-surface)}
.statistics-team-card-head{display:flex;align-items:center;gap:10px;min-width:0}
.statistics-team-logo{flex:0 0 32px;width:32px;height:32px;border:1px solid var(--tg-border);border-radius:50%;background:var(--tg-surface-soft);object-fit:cover}
.statistics-team-card-name{flex:1 1 auto;min-width:0;font-size:var(--tg-font-md);font-weight:var(--tg-font-weight-black);line-height:1.25;overflow-wrap:anywhere}
.statistics-team-card-name>a{color:var(--tg-text);text-decoration:none}
.statistics-team-card-name>a:hover{color:var(--tg-action-primary)}
.statistics-team-status{margin-left:6px}
.statistics-team-card-points{display:grid;flex:0 0 auto;justify-items:center;min-width:44px;padding:3px 8px;border-radius:var(--tg-radius-sm);background:var(--tg-action-primary-soft);color:var(--tg-action-primary);line-height:1.1}
.statistics-team-card-points b{font-size:var(--tg-font-lg);font-variant-numeric:tabular-nums}
.statistics-team-card-points small{font-size:var(--tg-font-xs);font-weight:var(--tg-font-weight-bold)}
.statistics-team-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}
.statistics-team-metrics>div{display:grid;gap:1px;min-width:0;padding:5px 3px;border-radius:var(--tg-radius-sm);background:var(--tg-surface-soft);text-align:center}
.statistics-team-metrics dt{overflow:hidden;color:var(--tg-text-muted);font-size:var(--tg-font-xs);font-weight:var(--tg-font-weight-bold);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.statistics-team-metrics dd{margin:0;color:var(--tg-text);font-size:var(--tg-font-md);font-weight:var(--tg-font-weight-black);line-height:1.25;font-variant-numeric:tabular-nums}
.statistics-team-metrics.is-secondary{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:4px}
.statistics-team-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 8px;min-width:0;border-top:1px solid var(--tg-border)}
.statistics-team-form{display:flex;align-items:center;gap:8px;min-width:0;font-size:var(--tg-font-xs)}
.statistics-team-form-label{color:var(--tg-text-muted);font-weight:var(--tg-font-weight-bold)}
.statistics-team-more{margin-left:auto}
.statistics-team-more[open]{flex:1 0 100%;margin-left:0}
.statistics-team-more>summary{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:var(--tg-touch-min);color:var(--tg-action-primary);font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-bold);list-style:none;cursor:pointer}
.statistics-team-more>summary::-webkit-details-marker{display:none}
.statistics-team-more>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease}
.statistics-team-more[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.statistics-team-more>summary:focus-visible{outline:2px solid var(--tg-focus-ring);outline-offset:2px;border-radius:var(--tg-radius-sm)}
.statistics-team-more .statistics-team-metrics{margin-bottom:6px}
/* Son 5 — küçük harfli hap (G/B/M), semantik durum token'ları. */
.statistics-form{display:inline-flex;align-items:center;gap:3px}
.statistics-form-dot{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 2px;border-radius:5px;color:var(--tg-text-inverse);font-size:var(--tg-font-xs);font-style:normal;font-weight:var(--tg-font-weight-black);line-height:1}
.statistics-form-dot.is-w{background:var(--tg-status-success)}
.statistics-form-dot.is-d{background:var(--tg-status-neutral)}
.statistics-form-dot.is-l{background:var(--tg-status-danger)}
.statistics-form-empty{color:var(--tg-text-muted)}
.statistics-pager{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 15px 15px}
.statistics-pager span{font-size:12px;font-weight:800;color:#5c7088}
.assist-panel>header>div>span{background:#eef9f1;color:#13934d}
/* İkinci sarı ihracı doğrudan kırmızıdan görsel olarak da ayrılır (K-8). */
.mini-card.second-yellow{background:linear-gradient(135deg,#f8c91c 0 52%,#e33c45 52% 100%)}

@media(max-width:760px){
  .statistics-view-tabs{margin-bottom:8px}
  .statistics-scope-switch:not(.tg-tabbar),.statistics-scope-switch.tg-tabbar{margin-bottom:8px}
  .statistics-scope-option{padding:0 10px}
  .statistics-scope-note{margin:6px 0 8px}
  .statistics-team-panel{margin-bottom:8px}
  .statistics-team-subtitle{padding:8px 8px 0}
  .statistics-team-panel>.tg-note{margin:8px 8px 0}
  .statistics-team-cards{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px}
  .statistics-team-card{gap:6px;padding:9px 10px}
  .statistics-pager{gap:7px;padding:0 8px 8px}
  .statistics-pager .tg-btn{flex:1 1 120px;justify-content:center}
}

/* ═══ v6.250.0 — Kura UX (Paket 2): sıradaki adım · havuz · deneyim ═══
   Mevcut draw-* dilini ve v3 buton/panel bileşenlerini kullanır; format
   ayrımı renkle anlatılmaz (renk tek bilgi taşıyıcısı değildir). */
/* ── PAKET B (v6.259.0) — KURA ETKİLEŞİM & RESPONSIVE ───────────────
   Format kimliği: kart KENDİ rastgele rengini üretmez, seçili aşamanın
   format ailesinden gelen tema rolünü devralır (DS-090). Durum
   (Taslak/Resmî) rozeti kendi status semantic'ini KORUR — ikisi
   karışmaz. */
.draw-result-card[data-format-family="league"]{--tg-format-accent:var(--tg-section-format-league-accent);--tg-format-soft:var(--tg-section-format-league-soft)}
.draw-result-card[data-format-family="groups"]{--tg-format-accent:var(--tg-section-format-groups-accent);--tg-format-soft:var(--tg-section-format-groups-soft)}
.draw-result-card[data-format-family="knockout"]{--tg-format-accent:var(--tg-section-format-knockout-accent);--tg-format-soft:var(--tg-section-format-knockout-soft)}

/* ── KURA DENEYİMİ: SEGMENTED CONTROL ──
   Aktif seçenek YALNIZ renkle anlatılmaz: işaretli radyo + kenarlık +
   zemin + kalın metin + dekoratif onay işareti birlikte çalışır. */
.draw-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 12px;
  padding:4px;border:1px solid var(--tg-border,#e3eaf2);border-radius:var(--tg-radius-md,12px);
  background:var(--tg-status-neutral-soft,#edf2f7)}
.draw-segment{position:relative;margin:0;min-width:0}
.draw-segment input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.draw-segment>span{display:flex;align-items:center;justify-content:center;gap:6px;
  min-height:var(--tg-touch-min,44px);padding:8px 10px;border:1px solid transparent;
  border-radius:var(--tg-radius-sm,8px);color:#506279;font-size:13.5px;font-weight:700;text-align:center}
.draw-segment>span>b{visibility:hidden;font-size:12px;line-height:1}
/* ── PD-UX5 — SEÇENEK BAŞINA SEMANTİK RENK KİMLİĞİ ──
   Renk MEVCUT `--tg-status-*` ailelerinden gelir; yeni palet/hex
   üretilmedi. Her seçenek kendi `--seg-*` yerel değişkenini kurar,
   seçili durum kuralı TEK yerde kalır. Renk TEK BAŞINA sinyal DEĞİLDİR:
   işaretli radyo + kenarlık + onay işareti + kalın metin birlikte
   çalışır (renk körü kullanıcı için de ayırt edilebilir). */
.draw-segment{--seg-accent:var(--tg-action-primary,#1267dc);--seg-soft:var(--tg-action-primary-soft,#eaf3ff)}
.draw-segment[data-draw-mode="random"],
.draw-segment[data-draw-experience="auto"]{--seg-accent:var(--tg-status-info,#1769df);--seg-soft:var(--tg-status-info-soft,#eaf3ff)}
.draw-segment[data-draw-mode="seeded"]{--seg-accent:var(--tg-status-warning,#b45309);--seg-soft:var(--tg-status-warning-soft,#fff4df)}
.draw-segment[data-draw-mode="pot"],
.draw-segment[data-draw-experience="presentation"]{--seg-accent:var(--tg-status-special,#6d4bc4);--seg-soft:var(--tg-status-special-soft,#f1ecfb)}
.draw-segment input:checked+span{border-color:var(--seg-accent);background:var(--seg-soft);
  color:var(--seg-accent);font-weight:900;box-shadow:0 1px 3px rgba(16,42,73,.12)}
.draw-segment input:checked+span>b{visibility:visible}
.draw-segment input:focus-visible+span{outline:2px solid var(--seg-accent);outline-offset:2px}
.draw-segmented[disabled] .draw-segment>span{opacity:.6}
.draw-experience-hint{margin:0 0 10px;color:var(--tg-text-muted,#718096);font-size:12.5px;line-height:1.45}
.draw-experience-pane[hidden],.draw-mode-settings[hidden]{display:none!important}
/* Seçili modun ayarı KENDİ seçeneğinin altında girintilidir — sahibi belli. */
.draw-mode-settings{margin:2px 0 10px;padding-inline-start:26px;border-inline-start:2px solid var(--tg-border,#e3eaf2)}

/* ── KURAYA KATILACAK TAKIMLAR: HER ZAMAN ACCORDION ── */
.draw-pool-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--tg-touch-min,44px);
  margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;
  text-align:start;cursor:pointer}
.draw-pool-toggle:focus-visible{outline:2px solid var(--tg-action-primary,#1267dc);outline-offset:3px;border-radius:6px}
.draw-pool-name{min-width:0}
.draw-pool-state{margin-inline-start:auto;color:var(--tg-action-primary,#1267dc);font-size:12.5px;font-weight:800}
.draw-pool-caret{color:var(--tg-text-muted,#718096);font-size:13px;transition:transform .15s ease}
.draw-pool-toggle[aria-expanded="true"] .draw-pool-caret{transform:rotate(180deg)}
.draw-pool-body[hidden]{display:none}

/* ── GRUP SONUÇLARI: MASAÜSTÜ 3 SÜTUN, EŞİT SATIR YÜKSEKLİĞİ ──
   Grid'in kendi hizalaması satırın en yüksek kartını temel alır ve her
   satır bağımsızdır — masonry KULLANILMAZ. */
.draw-result-summary{margin:12px 0 0;color:var(--tg-text-muted,#718096);font-size:12.5px;font-weight:800;letter-spacing:.01em}
.draw-group-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.draw-result-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--tg-format-accent,#1765c5) 26%,var(--tg-border,#e3eaf2));
  border-radius:var(--tg-radius-md,12px);
  background:linear-gradient(160deg,color-mix(in srgb,var(--tg-format-soft,#edf5ff) 46%,var(--tg-surface,#fff)),var(--tg-surface,#fff))}
.draw-group-title{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;
  border-bottom:1px solid color-mix(in srgb,var(--tg-format-accent,#1765c5) 18%,var(--tg-border,#e3eaf2));
  font-size:14px;font-weight:900;color:var(--tg-format-accent,#1765c5)}
.draw-group-title a{color:inherit;text-decoration:none}
.draw-group-title a:hover{text-decoration:underline}
.draw-group-count{margin-inline-start:auto;padding:1px 8px;border-radius:999px;
  background:color-mix(in srgb,var(--tg-format-soft,#edf5ff) 70%,var(--tg-surface,#fff));
  color:var(--tg-format-accent,#1765c5);font-size:11.5px;font-weight:900}
.draw-group-teams{list-style:none;margin:0;padding:4px 6px 8px;display:grid;gap:2px}
.draw-group-team{display:grid;grid-template-columns:22px 24px minmax(0,1fr);align-items:center;gap:8px;
  min-height:var(--tg-touch-min,44px);padding:4px 6px;border-radius:8px}
/* Kura sıra numarası NÖTRDÜR: lig sıralaması/rank gibi görünmez. */
.draw-team-no{color:var(--tg-text-muted,#718096);font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;text-align:end}
.draw-team-logo{width:24px;height:24px;border-radius:50%;object-fit:contain;background:var(--tg-surface,#fff)}
.draw-team-logo.is-empty{background:var(--tg-status-neutral-soft,#edf2f7)}
.draw-team-name{min-width:0;color:var(--tg-text,#17324e);font-size:13px;font-weight:600;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.draw-team-name:hover{text-decoration:underline}
.draw-order-list{padding:0;counter-reset:none}
/* Hover YALNIZ gerçek işaretçili masaüstünde ve ÇOK hafif; kart
   tıklanabilir değildir, tıklanabilir hissi verilmez. */
@media (hover:hover) and (pointer:fine){
  .draw-group-team:hover{background:color-mix(in srgb,var(--tg-format-soft,#edf5ff) 55%,transparent)}
}
.draw-carousel-nav{display:none}

/* ── MOBİL STICKY BİRİNCİL (yalnız dar ekran) ── */
.draw-sticky-primary{display:none}

@media (max-width:1100px){
  .draw-group-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
  /* Grup sonuçları YATAY SNAP CAROUSEL. Aynı DOM, farklı düzen: ikinci
     bir kopya render edilmez. Tek kart neredeyse tam genişlik, sonraki
     kartın bir bölümü GÖRÜNÜR — kaydırılabilirlik kendini anlatır.
     Otomatik oynatma YOK, accordion YOK: takım listesi doğrudan görünür. */
  .draw-group-track{display:flex;grid-template-columns:none;gap:10px;
    overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;scroll-behavior:smooth}
  .draw-group-track::-webkit-scrollbar{display:none}
  .draw-group-track>.draw-result-card{flex:0 0 86%;scroll-snap-align:start}
  .draw-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
  .draw-carousel-arrow{display:grid;place-items:center;min-width:var(--tg-touch-min,44px);
    min-height:var(--tg-touch-min,44px);border:1px solid var(--tg-border,#e3eaf2);
    border-radius:var(--tg-radius-sm,8px);background:var(--tg-surface,#fff);
    color:var(--tg-action-primary,#1267dc);font-size:20px;font-weight:900;line-height:1;cursor:pointer}
  .draw-carousel-arrow:disabled{opacity:.35;cursor:not-allowed}
  .draw-carousel-arrow:focus-visible{outline:2px solid var(--tg-action-primary,#1267dc);outline-offset:2px}
  /* Nokta DEĞİL metin: "Grup 2 / 4". Genel toplam özeti ayrı ve sabittir. */
  .draw-carousel-position{margin:0;color:var(--tg-text-muted,#718096);font-size:12.5px;font-weight:800}

  /* Sticky birincil: YALNIZ mobil, yalnız gerçek birincil ekran dışında.
     Alt safe-area hesaba katılır; ikincil aksiyon buraya asla girmez. */
  .draw-sticky-primary{position:fixed;inset-inline:0;bottom:0;z-index:2500;
    display:flex;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    border-top:1px solid var(--tg-border,#e3eaf2);background:var(--tg-surface,#fff);
    box-shadow:0 -6px 18px rgba(16,42,73,.12)}
  .draw-sticky-primary[hidden]{display:none}
  .draw-sticky-primary>button{flex:1 1 auto;min-height:var(--tg-touch-min,44px)}
  /* Serit icerigi ortmesin (carousel oklari dahil). */
  body.draw-has-sticky{padding-bottom:84px}

  /* Faz şeridi: dropdown YOK, yatay kaydırılabilir çip şeridi.
     Kaydırma NAV'IN İÇİNDEDİR — sayfayı taşırmaz. */
  .draw-phase-switch{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;scroll-snap-type:x proximity}
  .draw-phase-switch::-webkit-scrollbar{display:none}
  .draw-phase-switch a{flex:0 0 auto;min-height:var(--tg-touch-min,44px);justify-content:center;scroll-snap-align:center}

  .draw-segmented{gap:4px}
  .draw-segment>span{font-size:12.5px}
  .draw-mode-settings{padding-inline-start:18px}
  .draw-group-team{grid-template-columns:20px 22px minmax(0,1fr);gap:7px}
  .draw-team-logo{width:22px;height:22px}
}

@media (prefers-reduced-motion:reduce){
  .draw-group-track{scroll-behavior:auto}
  .draw-pool-caret{transition:none}
}
/* ── PAKET A (v6.258.0) — KURA BİLGİ MİMARİSİ ────────────────────────
   Durum rengi UYDURULMAZ: rozetler ve yıkıcı-ikincil buton mevcut
   semantic token'ları kullanır. Renk TEK BAŞINA anlam taşımaz —
   rozette her zaman açık metin ("Taslak" / "Resmî") vardır. */

/* ── PD-UX3 — ÜST ALAN: TEK KOMPAKT YÜZEY ──
   `tg_page_header()` zaten mobilde `flex-direction:column` olur
   (foundation.css); burada yalnız kura sayfasına özel iki nokta var:
   bağlamsal yardımı büyük düz mavi link yerine sakin bir ghost aksiyona
   çeviriyoruz (GLOBAL `.help-contextual-link` DEĞİŞMEDİ — diğer tüm
   sayfalarda aynı kalır, yalnız bu sayfanın başlık kapsamında ezilir) ve
   mobilde açıklamayı tek satıra sıkıştırıyoruz. */
/* PD-UX9 — bağlamsal yardım ve bağlam chip'lerinin kuralları ORTAK
   `.tg-page-summary` bileşenine taşındı (foundation.css): aynı kart
   Turnuva Formatı ekranında da kullanılıyor, ikinci kopya tutulmaz. */

/* PD-UX14 — dar ekranda açıklamayı tek satıra kırpan kural KALDIRILDI.
   Ortak kural (foundation.css) artık en fazla iki satır clamp'ler;
   "…eşleşmelere da…" gibi yarım cümle kalmaz. */

/* Sıradaki adım şeridi artık gerçek bir bağlantı taşır. */
.draw-next-step-go{margin-inline-start:auto;min-height:var(--tg-touch-min,44px);
  display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--tg-radius-sm,8px);
  font-size:13px;font-weight:800;text-decoration:underline}

/* ── KART AYRIŞTIRMA — hazırlık/taslak = nötr-mavi aile, resmî = yeşil.
   İnce üst şerit + rozetin zaten taşıdığı soft/border tonu; ağır dolgu
   yok, [[draw-wizard-panel]] ile aynı görsel dil. */
.draw-state-panel{border-top:3px solid var(--tg-action-primary,#1769df)}
.draw-state-panel[data-draw-result="official"]{border-top-color:var(--tg-status-success,#16794a)}

/* Tek Kura Sonucu bölgesi: başlık + durum rozeti aynı satırda. */
.draw-result-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.draw-result-badge{display:inline-flex;align-items:center;padding:3px 10px;
  border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:900;
  letter-spacing:.02em;font-style:normal}
.draw-result-badge.is-draft{border-color:var(--tg-action-primary,#1769df);
  background:var(--tg-action-primary-soft,#eaf3ff);color:var(--tg-action-primary,#1769df)}
.draw-result-badge.is-official{border-color:var(--tg-status-success,#16794a);
  background:var(--tg-status-success-soft,#e8f8ef);color:var(--tg-status-success,#16794a)}
.draw-official-at{font-weight:700}
.draw-result-body{margin-top:12px}

/* Resmî sonucun aksiyonları: birincil "Fikstüre Geç", ikincil
   "Kurayı Boz". İkincisi YIKICI-İKİNCİLDİR — dolu kırmızı birincil
   buton değil, yumuşak danger. */
.draw-official-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px}
.draw-official-actions form{margin:0}
.draw-official-actions>a,.draw-official-actions button{min-height:var(--tg-touch-min,44px)}
.draw-danger-button{border-color:var(--tg-action-danger,#b42318)!important;
  background:var(--tg-action-danger-soft,#fdeaea)!important;color:var(--tg-action-danger,#b42318)!important}
.draw-danger-button:hover{background:var(--tg-action-danger,#b42318)!important;
  color:var(--tg-action-danger-text,#fff)!important}

/* ── PD-UX — SAYFANIN TEK BASKIN BİRİNCİL AKSİYONU ──
   "Kura Hazır" kartı kaldırıldı; birincil aksiyon ayarların altındadır.
   Eski `.draw-ready-panel` kuralları da kaldırıldı (ölü kod bırakılmaz). */
.draw-run-actions{margin-top:14px}
.draw-run-actions .tg-btn{min-height:var(--tg-touch-min,44px)}

/* ── PD-UX — KURA KURALI: KOMPAKT SEGMENTED ──
   Deneyim seçicisiyle AYNI bileşen; yalnız sütun sayısı kuraldan gelir.
   `auto-fit` + `minmax` sayesinde 2 ve 3 seçenek aynı kuralla çalışır ve
   dar ekranda seçenekler alt alta iner — taşma olmaz, 44px korunur. */
/* PD-UX5 — YÖNTEMLER HER GENİŞLİKTE TEK SATIRDA, EŞİT PAYLI.
   Sütun sayısı `auto-fit`/minmax'a değil GERÇEK seçenek sayısına
   bağlanır (`data-count` sunucudan gelir): 360 px'te bile üç seçenek alt
   alta düşmez, gerekiyorsa metin iki satıra sarar. */
.draw-segmented--rule{grid-template-columns:repeat(3,minmax(0,1fr))}
.draw-segmented--rule[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.draw-segmented--rule[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Dar sütunda etiket sarabilmeli: onay işareti sarma akışını kesmesin. */
.draw-segmented--rule .draw-segment>span{flex-wrap:wrap;line-height:1.25}
.draw-mode-choice{min-width:0;margin:0 0 4px;padding:0;border:0}
.draw-mode-choice>legend{padding:0;margin:0 0 9px;color:var(--tg-text,#10213a);font-size:15px;font-weight:800}
/* Seçili kuralın açıklaması: tek satırlık, sakin, seçicinin altında. */
.draw-rule-hint{margin:0 0 12px;color:var(--tg-text-muted,#718096);font-size:12.5px;line-height:1.45}
.draw-rule-hint[hidden]{display:none!important}

/* ── PD-UX — TASLAKTA AYARLAR İKİNCİL VE KATLANMIŞTIR ──
   Ekranın işi o anda sonucu değerlendirmektir; ayarlar kaybolmaz ama
   görsel ağırlığı düşer. `<details>` yerel semantiktir: JS gerekmez. */
.draw-settings-collapsible{padding:0!important;overflow:hidden}
.draw-settings-summary{display:flex;align-items:center;gap:8px;min-height:var(--tg-touch-min,44px);
  padding:10px 16px;cursor:pointer;color:var(--tg-text-muted,#718096);
  font-size:13px;font-weight:800;list-style:none}
.draw-settings-summary::-webkit-details-marker{display:none}
.draw-settings-summary>small{color:var(--tg-text-muted,#718096);font-weight:600}
.draw-settings-summary::after{content:"▾";margin-inline-start:auto;font-size:13px;transition:transform .15s ease}
.draw-settings-collapsible[open] .draw-settings-summary::after{transform:rotate(180deg)}
.draw-settings-summary:focus-visible{outline:2px solid var(--tg-action-primary,#1267dc);outline-offset:-3px}
.draw-settings-body{padding:0 16px 16px}

/* ── PD-UX — HAVUZ, SONUÇ VARKEN İKİNCİL BİR YARDIMCIDIR ── */
.draw-pool-panel--secondary{background:var(--tg-surface-soft,#f8fafc);box-shadow:none}

/* ── PD-UX2 — HAVUZ KARTI SAKİN BİR DOĞRULAMA YÜZEYİDİR ──
   Canonical görsel referans Turnuva Formatı sayfasıdır: orada bölüm
   başlıkları ~17px'tir, sayfa H1'i kadar ağır değildir. Havuz başlığı
   `v3-panel-heading h2` varsayılanını (≈30px) devralıyordu ve kura
   öncesi ekranın EN AĞIR öğesi oluyordu; oysa oradaki karar Kura
   Kuralı'dır. Panel artık aynı dilde: ince çerçeve, ferah ama dar
   padding, sakin başlık. Bilgi ve dokunma hedefi (44px) korunur. */
.draw-pool-panel .v3-panel-heading{margin-bottom:0;padding-bottom:0;border-bottom:0}
/* Ayırıcı çizgi AÇILINCA belirir: kapalı kartın altında asılı bir
   çizgi ve boş şerit kalmaz (kart gerçekten minimal olur). */
.draw-pool-body{margin-top:13px;padding-top:13px;border-top:1px solid var(--tg-border,#e3eaf2)}
.draw-pool-panel .v3-panel-heading h2{margin:0;font-size:17px;line-height:1.25}
.draw-pool-panel .v3-panel-heading>span{flex:0 0 34px;width:34px;height:34px;border-radius:10px}
.draw-pool-panel .v3-panel-heading>span svg{width:17px;height:17px}
.draw-pool-panel--secondary .v3-panel-heading h2{font-size:15px}
/* Kapalıyken kartın altında boş bir şerit kalmaz. */
.draw-pool-body[hidden]{display:none!important}

/* Bölüm başlıkları da aynı ölçekte okunur (referans: "Oluşacak Turnuva"). */

/* PD-UX8 — "Ayar erişim satırı" ve "özet + Düzenle" desenleri KALDIRILDI:
   hem seri/torba hem sunum ayarları artık seçeneğin altında satır içi
   açılıyor, ekranda tetikleyici/özet satırı kalmadı. */

/* ── PD-UX6 — SATIR İÇİ SERİ / TORBA ATAMASI ──
   Atama artık ayrı bir yüzeyde değil, takım listesinin sağındadır.
   Kontroller `<select>`tir (serbest sayı kutusu yok): kullanıcı ne
   yazacağını düşünmez, yalnız seçer. Renk kimliği seçili yöntemden
   gelir (aynı `--tg-status-*` aileleri). */
.draw-assign{margin:0 0 12px}
.draw-assign-field[hidden],
.draw-assign-form[hidden],.draw-assign[hidden],.draw-assign-error[hidden],
.draw-assign-notice[hidden]{display:none!important}
.draw-assign-error{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 12px;
  border:1px solid var(--tg-status-danger,#b42318);border-inline-start-width:3px;
  border-radius:var(--tg-radius-sm,8px);background:var(--tg-status-danger-soft,#fdeaea);
  color:var(--tg-status-danger,#b42318);font-size:12.5px;font-weight:700}
/* Atama listesinde satır: ad solda, seçim sağda. Sütun genişliği ikisinin
   YAN YANA sığacağı kadardır (yalnız ad için olan 170px'lik havuz ölçüsü
   seçimi alt satıra atıyordu); masaüstünde alan boş kalmasın diye liste
   yine çok sütunlu akar, dar ekranda tek sütuna iner.
   Seçici, sonradan gelen `.draw-pool-list` kuralını yenmek için İKİ
   sınıfla yazılır — `!important` gerekmez. */
.draw-pool-list.draw-pool-list--assign{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:8px}
.draw-pool-list--assign .draw-pool-team{flex-wrap:nowrap;gap:8px;min-height:var(--tg-touch-min,44px);padding:6px 10px}
/* `min-width:0` ŞART: flex öğesi varsayılan olarak içeriğinden dar
   olamaz, bu yüzden uzun takım adı seçimi alt satıra atıyordu. */
.draw-pool-list--assign .draw-pool-team>span:not(.draw-assign-field):not(.draw-pool-index){flex:1 1 auto;min-width:0;
  white-space:normal;text-align:start;line-height:1.25}
.draw-assign-field{flex:0 0 auto;display:flex;align-items:center}
/* PD-UX9 — select yalnız "Atanmadı / Torba N" değerlerini gösterecek
   kadar geniştir; takım adı satırın baskın öğesi olarak kalır. */
.draw-assign-select{width:auto;min-height:38px;min-width:78px;max-width:92px;padding:4px;font-size:11.5px}
.draw-pool-team.is-invalid{border-color:var(--tg-status-danger,#b42318);
  box-shadow:0 0 0 1px var(--tg-status-danger,#b42318) inset}
/* PD-UX7 — çok fazla seri başı için SAKİN bilgi satırı (engel değil). */
.draw-assign-notice{margin:10px 0 0;padding:8px 12px;
  border:1px solid var(--tg-status-warning,#b54708);border-inline-start-width:3px;
  border-radius:var(--tg-radius-sm,8px);background:var(--tg-status-warning-soft,#fef6ee);
  color:var(--tg-status-warning,#b54708);font-size:12.5px;font-weight:700;line-height:1.45}
/* PD-UX8 — SERİ BAŞI KONTROLÜ MİNİMAL. Pill/buton görünümü kaldırıldı:
   yalnız onay kutusu + küçük etiket. Dokunma alanı 44px (görünmez
   dolgu), görünen kontrol dar. Durum tek başına renkle anlatılmaz:
   işaretli kutu + kalın etiket + satırdaki çok hafif tint birlikte. */
.draw-assign-check{display:inline-flex;align-items:center;gap:6px;margin:0;
  min-height:var(--tg-touch-min,44px);padding:0 2px;background:none;border:0;
  color:var(--tg-text-muted,#5b6b7f);font-size:11.5px;font-weight:700;
  cursor:pointer;user-select:none;white-space:nowrap}
.draw-assign-check input{width:18px;height:18px;margin:0;accent-color:var(--tg-status-warning,#b54708);cursor:pointer}
.draw-assign-check:has(input:checked){color:var(--tg-status-warning,#b54708);font-weight:900}
.draw-assign-check:has(input:focus-visible){outline:2px solid var(--tg-status-warning,#b54708);outline-offset:2px;border-radius:var(--tg-radius-sm,8px)}
.draw-assign-check:has(input:disabled){opacity:.6;cursor:default}
/* Tint YALNIZ seri başı yöntemi seçiliyken: alan gizliyken (Rastgele/
   Torbalı) işaretli satır renklenmez — durum yanlış yöntemde okunmaz. */
.draw-pool-team:has(.draw-assign-field[data-rule-field="seeded"]:not([hidden]) [data-assign-check="seed"]:checked){
  border-color:var(--tg-status-warning,#b54708);background:var(--tg-status-warning-soft,#fff7ec)}
.draw-assign-actions{margin-top:10px}

/* PD-UX8 — `dialog.draw-sheet` KALDIRILDI (sayfada hiç dialog yok);
   ona ait düzeltmeler de silindi. Sunum ayarları `.draw-experience-pane`
   içinde, seçeneğin altında satır içi durur. */
.draw-experience-pane{margin:2px 0 12px;padding-inline-start:12px;
  border-inline-start:2px solid var(--tg-status-special-soft,#e6dcff)}
.draw-experience-pane .draw-presentation-modes{margin:0}

/* ── PD-UX4 — KURA ÖNCESİ: TEK KART, 3 AŞAMALI WIZARD ──
   Kart "hazırlık" kimliğini üstteki ince mavi/nötr şeritle taşır (§ Kart
   Ayrıştırma: hazırlık = nötr/mavi, taslak = mavi/bilgi, resmî = yeşil —
   [[draw-state-panel]] ile aynı aile, ağır dolgu yok). */
.draw-wizard-panel{border-top:3px solid var(--tg-action-primary,#1769df)}

/* Stepper: GÖRSELDİR, tıklanabilir değildir — gezinme Geri/Devam ile.
   Bağlayıcı çizgi `:not(:last-child)::after` ile aradaki boşluğu doldurur;
   `flex:1` sayesinde 3 öğe her genişlikte orantılı dağılır. */
.draw-wizard-stepper{display:flex;list-style:none;margin:0 0 18px;padding:0}
.draw-wizard-stepper-item{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0}
.draw-wizard-stepper-item:not(:last-child)::after{content:"";flex:1 1 auto;
  height:2px;margin:0 8px;background:var(--tg-border,#e3eaf2);align-self:center}
.draw-wizard-stepper-dot{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;
  border-radius:50%;border:2px solid var(--tg-border,#e3eaf2);background:var(--tg-surface,#fff);
  color:var(--tg-text-muted,#718096);font-size:12.5px;font-weight:900}
.draw-wizard-stepper-text{min-width:0}
.draw-wizard-stepper-text b{display:block;overflow:hidden;color:var(--tg-text-muted,#718096);
  font-size:12.5px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.draw-wizard-stepper-text small{display:block;color:var(--tg-text-muted,#718096);font-size:10.5px}
.draw-wizard-stepper-item.is-active .draw-wizard-stepper-dot{border-color:var(--tg-action-primary,#1769df);
  background:var(--tg-action-primary,#1769df);color:#fff}
.draw-wizard-stepper-item.is-active .draw-wizard-stepper-text b{color:var(--tg-text,#10213a)}
.draw-wizard-stepper-item.is-done .draw-wizard-stepper-dot{border-color:var(--tg-status-success,#16794a);
  background:var(--tg-status-success-soft,#e8f8ef);color:var(--tg-status-success,#16794a)}
.draw-wizard-stepper-item.is-done:not(:last-child)::after{background:var(--tg-status-success,#16794a)}

.draw-wizard-step-title{margin:0 0 4px;font-size:17px;font-weight:900;color:var(--tg-text,#10213a)}
.draw-wizard-step-hint{margin:0 0 14px;color:var(--tg-text-muted,#718096);font-size:13px;line-height:1.4}
.draw-wizard-ready{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;
  border:1px solid var(--tg-status-success,#16794a);border-radius:var(--tg-radius-sm,8px);
  background:var(--tg-status-success-soft,#e8f8ef);color:var(--tg-status-success,#16794a);
  font-size:13px;font-weight:700}
.draw-wizard-ready svg{flex:0 0 auto}
.draw-wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--tg-border,#e3eaf2)}
.draw-wizard-nav .draw-wizard-back,.draw-wizard-nav .draw-wizard-next{min-height:var(--tg-touch-min,44px)}
/* Yalnız "Devam"/"Geri" tek başınaysa (1. adım solda boş `<span>`,
   3. adımda run-actions kendi genişliğini alır) itemler doğal boyutunda
   kalır; ikisi birden varsa (2. adım) eşit paylaşmaz — Devam vurgulu kalır. */
.draw-wizard-nav .draw-run-actions{margin:0}

/* JS kapalıyken üç adım da açık kalır (bilgi/aksiyon kaybı yok); "Kurayı
   Çek" formu zaten kendi başına gönderilebilir kalır — bkz. tournament-draw.php
   noscript kuralı. */

@media (max-width:430px){
  /* Dar ekranda şerit bağlantısı kendi satırına iner (44px korunur). */
  .draw-next-step-go{margin-inline-start:0;flex-basis:100%;padding-inline:0}
  .tg-page-summary .tg-summary-chip{font-size:10.5px}
  .draw-official-actions>a,.draw-official-actions button,
  .draw-run-actions .tg-btn{width:100%}
  /* PD-UX5 — kural seçici dar ekranda da TEK SATIRDA kalır (eski
     `grid-template-columns:1fr` alt alta indiriyordu). Sığdırmayı sütun
     sayısı değil TİPOGRAFİ yapar: etiket iki satıra sarar, dolgu ve
     yazı boyutu küçülür, dokunma hedefi 44 px korunur. */
  .draw-segmented{gap:3px;padding:3px}
  .draw-segmented--rule .draw-segment>span{padding:6px 4px;gap:2px;font-size:11px;letter-spacing:-.1px}
  .draw-segmented--rule .draw-segment>span>b{font-size:10px}
  /* PD-UX6 — atama satırı: takım adı ve seçim aynı satırda kalır, ad
     gerekirse iki satıra sarar; seçim dokunulabilir genişlikte durur. */
  .draw-assign-select{min-width:74px;max-width:84px;padding:3px;font-size:11px}
  /* PD-UX4 — stepper dar ekranda kalabalık oluşturuyorsa yalnız ana
     başlıklar kalır; her adımın kendi H3'ü zaten neyi yaptığını anlatır
     (bilgi kaybı yok, yalnız tekrar eden alt etiket kalkar). Nokta+bağlaç
     dar ekranda daha da sıkışır. Ana başlık `nowrap`+ellipsis yerine İKİ
     SATIRA sarar — "Kura K…" gibi kırpılmış, okunaksız bir kelime yerine
     tam kelime iki satırda okunur (360/390 px'te 3 öğe için gereken alan
     kelimeyi tek satırda taşımaz). */
  .draw-wizard-stepper-text small{display:none}
  .draw-wizard-stepper-item:not(:last-child)::after{margin:0 4px}
  .draw-wizard-stepper-dot{flex-basis:24px;width:24px;height:24px;font-size:11px}
  .draw-wizard-stepper-text b{overflow:visible;white-space:normal;font-size:11px;line-height:1.2}
}
.draw-next-step{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:13px 16px!important}
.draw-next-step-label{padding:4px 9px;border-radius:999px;background:#e8f0fb;color:#1a5cb0;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.draw-next-step strong{font-size:15px;color:#17324e}
.draw-next-step small{flex-basis:100%;color:#68798d;font-size:12px}
.draw-pool-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:7px;margin:12px 0 0;padding:0;list-style:none}
.draw-pool-team{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 10px;border:1px solid #dce5ef;border-radius:10px;background:#f8fafd;text-align:start}
/* PD-UX11 — GÖRSEL SIRA NUMARASI. Dar, sakin, tabular; rozet/pill DEĞİL.
   Takım adından baskın olmaz ve ad sütununu daraltmaz (18px). */
.draw-pool-team .draw-pool-index{flex:0 0 18px;min-width:18px;overflow:visible;
  color:var(--tg-text-muted,#718096);font-size:11px;font-weight:700;
  font-variant-numeric:tabular-nums;text-align:end;line-height:1.2;white-space:nowrap}
/* Planlı Kura'da birincil aksiyon çizilmez (PD-UX11). */
.draw-run-actions[hidden]{display:none!important}
.draw-pool-team img,.draw-pool-team i{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:7px;object-fit:cover;background:#dfe8f2;color:#506279;font-size:10px;font-style:normal;font-weight:900}
.draw-pool-team span{overflow:hidden;font-size:13px;font-weight:700;color:#22405e;text-overflow:ellipsis;white-space:nowrap}
.draw-experience{margin-top:16px}
.draw-experience-heading{margin:0 0 9px;font-size:15px;font-weight:800;color:var(--tg-text,#10213a)}
.draw-experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.draw-exp-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #dce5ef;border-radius:13px;background:linear-gradient(150deg,#fff,#f7faff)}
.draw-exp-card h4{margin:0 0 3px;font-size:15px}
.draw-exp-card p{margin:0;color:#68798d;font-size:12.5px;line-height:1.45}
.draw-exp-card>button{margin-top:auto;min-height:44px}
.draw-presentation-modes{display:grid;gap:8px;margin:0;padding:0;border:0}
.draw-presentation-modes legend{padding:0 0 4px;font-size:12px;font-weight:800;color:#506279}
.draw-presentation-mode{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border:1px solid #dce5ef;border-radius:10px;background:#fff;cursor:pointer}
/* PD-UX9 — HER SUNUM BİÇİMİ KENDİ SEMANTIC AİLESİNİ TAŞIR (yeni hex YOK;
   Süreli = info/mavi, Yönetici Kontrollü = warning/turuncu, Planlı =
   special/mor — kura yöntemi seçicisiyle AYNI eşleme mantığı). Renk tek
   başına sinyal değildir: işaretli radyo + kenarlık + kalın başlık
   birlikte çalışır. Seçili olmayan seçenek NÖTR kalır. */
.draw-presentation-mode{--pm-accent:var(--tg-action-primary,#1267dc);--pm-soft:var(--tg-action-primary-soft,#eaf3ff)}
.draw-presentation-mode[data-presentation-mode="timed"]{--pm-accent:var(--tg-status-info,#1769df);--pm-soft:var(--tg-status-info-soft,#eaf3ff)}
.draw-presentation-mode[data-presentation-mode="controlled"]{--pm-accent:var(--tg-status-warning,#b45309);--pm-soft:var(--tg-status-warning-soft,#fff4df)}
.draw-presentation-mode[data-presentation-mode="scheduled"]{--pm-accent:var(--tg-status-special,#6d4bc4);--pm-soft:var(--tg-status-special-soft,#f1ecfb)}
/* v6.391.0 (UX_ARCHITECTURE §15.11) — TEK VURGU. Seçili kartta kenarlık ile
   aynı renkte 1px inset gölge üst üste biniyor, alt piksel ölçeklerde İKİ
   çizgi gibi görünüyordu; gölge kaldırıldı (renkli kenarlık + zemin +
   başlık rengi + işaretli radyo yeterli). */
.draw-presentation-mode:has(input:checked){border-color:var(--pm-accent);background:var(--pm-soft)}
.draw-presentation-mode:has(input:checked) strong{color:var(--pm-accent)}
.draw-presentation-mode input{accent-color:var(--pm-accent)}
/* Seçime bağlı alt ayar AYNI kimliği sürdürür: ince sol şerit + hafif
   zemin + başlık rengi. Ağır tam renkli arka plan KULLANILMAZ. */
.draw-mode-settings[data-mode-settings="timed"]{--pm-accent:var(--tg-status-info,#1769df);--pm-soft:var(--tg-status-info-soft,#eaf3ff)}
.draw-mode-settings[data-mode-settings="scheduled"]{--pm-accent:var(--tg-status-special,#6d4bc4);--pm-soft:var(--tg-status-special-soft,#f1ecfb)}
.draw-mode-settings[data-mode-settings]{border-inline-start-color:var(--pm-accent);
  background:var(--pm-soft);border-radius:0 var(--tg-radius-sm,8px) var(--tg-radius-sm,8px) 0;
  padding-block:8px;padding-inline-end:10px}
.draw-mode-settings[data-mode-settings] .draw-speed-field,
.draw-mode-settings[data-mode-settings] label{color:var(--pm-accent)}
.draw-mode-settings[data-mode-settings] select:focus-visible,
.draw-mode-settings[data-mode-settings] input:focus-visible{outline:2px solid var(--pm-accent);outline-offset:1px}
/* v6.391.0 — odak halkası YALNIZ klavye odağında. `:focus-within` fareyle
   tıklanan radyoda da tetikleniyor ve seçili kenarlığın dışına ikinci bir
   çerçeve çiziyordu (çift çerçevenin kök nedeni). Klavye görünürlüğü korunur. */
.draw-presentation-mode:has(input:focus-visible){outline:2px solid var(--pm-accent);outline-offset:2px}
/* v6.391.0 — SUNUM HIZI SÜRELİ SUNUMUN ALT AYARIDIR: seçili Süreli Sunum
   kartının doğrudan devamı olarak çizilir (aynı kenarlık, üst çizgi yok,
   alt köşeler yuvarlak); ayrı bir kart gibi görünmez. Görünürlük kuralı
   (yalnız Süreli seçiliyken) mevcut `[data-mode-settings]` betiğindedir. */
.draw-presentation-mode:has(input:checked):has(+ .draw-mode-settings:not([hidden])){margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}
.draw-presentation-mode:has(input:checked) + .draw-mode-settings[data-mode-settings]{margin:-9px 0 0;padding:4px 10px 10px 35px;border:1px solid var(--pm-accent);border-top:0;border-radius:0 0 10px 10px;background:var(--pm-soft)}
.draw-presentation-mode input{margin-top:3px}
.draw-presentation-mode strong{display:block;font-size:13px;color:#17324e}
.draw-presentation-mode small{display:block;color:#68798d;font-size:var(--tg-font-xs);line-height:1.4}
/* v6.257.0 (PD-41) — SUNUM TEMPOSU ARTIK TEK SELECT.
   Eski 2/3/5 chip kurallari (radio + span rozetleri) KALDIRILDI: 15
   secenek chip olarak satiri tasirirdi. Dokunma alani artik select in
   kendi yuksekligiyle saglanir (min-height 44px). */
.draw-speed-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:2px 2px 2px 10px}
.draw-speed-choice[hidden]{display:none}
.draw-speed-field{color:#506279;font-size:12px;font-weight:700}
.draw-speed-choice select{min-height:44px;flex:0 1 170px;min-width:130px;max-width:100%}
@media (max-width:480px){
  /* Dar ekranda etiket ve select ALT ALTA akar; ikisi de ayni kenardan
     baslar (etiket kapsayicidan ortalama hizalamayi devralmaz). */
  .draw-speed-choice{flex-direction:column;align-items:stretch;padding-left:2px}
  .draw-speed-field{text-align:start}
  .draw-speed-choice select{flex:1 1 auto;width:100%}
}
.draw-draft-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.draw-draft-actions form{margin:0}
.draw-draft-actions button{min-height:44px}
.draw-official-order h3,.draw-draft-preview h3{margin:14px 0 7px;font-size:13.5px;color:#3d5570}
.draw-draft-order{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:5px 12px;margin:0;padding-left:22px}
.draw-draft-order li{padding:3px 0;font-size:13px;color:#22405e}
@media (max-width:760px){
  .draw-experience-grid{grid-template-columns:1fr}
  .draw-pool-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .draw-draft-order{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:430px){
  .draw-next-step{gap:6px 10px;padding:10px 12px!important}
  .draw-next-step strong{font-size:13.5px}
  .draw-pool-list{grid-template-columns:1fr;gap:5px}
  .draw-pool-team{min-height:36px;padding:5px 8px}
  /* PD-UX11 — sıra numarası dar ekranda daha da dar ve satır boşluğu
     küçülür: numara, PD-UX10ʼda kazanılan ad alanını geri yemesin. */
  .draw-pool-team .draw-pool-index{flex-basis:13px;min-width:13px;font-size:10.5px}
  .draw-pool-list--assign .draw-pool-team{gap:6px;padding-inline:8px}
  .draw-pool-team span{font-size:12px}
  .draw-exp-card{padding:10px;border-radius:10px}
  .draw-exp-card h4{font-size:13.5px}
  .draw-exp-card p{font-size:11px}
  .draw-presentation-mode strong{font-size:12px}
  /* UXA §15.15 — seçenek açıklaması 12 px sistem tabanının altına inmez (önceden 10.5px). */
  .draw-presentation-mode small{font-size:var(--tg-font-xs)}
  .draw-draft-order{grid-template-columns:1fr}
}
/* ── PAKET C (v6.260.0) — SUNUM OVERLAY CİLASI ──────────────────────
   Reveal için yalnız KISA opacity + HAFİF translate + ÇOK HAFİF vurgu.
   Bounce, confetti, slot-machine, büyük scale, sürekli glow ve canvas
   efektleri KULLANILMAZ; yeni animasyon kütüphanesi eklenmez. Durum
   değişimi HİÇBİR ZAMAN animasyona bağımlı değildir — sınıf kalksa bile
   içerik doğru görünür. */
.draw-spinner-card{transition:border-color .18s ease,background .18s ease}
.draw-spinner-card.is-revealed{transform:none;border-color:#66adff;background:rgba(20,116,219,.2)}
.draw-spinner-card.is-revealed .draw-spinning-name,
.draw-spinner-card.is-revealed .draw-reveal-group{animation:drawRevealIn .22s ease-out both}
@keyframes drawRevealIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* v6.356.0 — GRUBA KAYMA (FLIP). Takım canonical listeye YAZILDIKTAN sonra
   yalnız ilk karede sahnedeki konumuna geri alınır ve yerine bırakılır;
   klon/ikinci DOM yoktur. `is-arriving` süresince satır kardeşlerinin
   üstünde çizilir ki kayarken kırpılmasın. Transform/opacity dışında
   özellik animasyonu yok (compositor dostu). */
.draw-live-groups p.is-arriving{position:relative;z-index:2;will-change:transform,opacity}
/* Grup hedefi: KISA vurgu, kalıcı parıltı yok. */
.draw-live-groups section.is-target{animation:drawTargetPulse .9s ease-out 1}
@keyframes drawTargetPulse{0%{background:rgba(117,183,255,.26)}100%{background:rgba(255,255,255,.055)}}

/* Üst kontrol grubu: en fazla Ses · Tam Ekran · Kapat. Reveal birincili
   buraya girmez; mobilde her biri ≥44px dokunma hedefi. */
.draw-presentation-actions button{min-height:var(--tg-touch-min,44px)}
.draw-presentation-actions button[hidden]{display:none}
.draw-presentation-identity{min-width:0}
.draw-presentation-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Platform imzası: küçük, ikincil, ALT bölümde. */
.draw-presentation-credit{margin-inline-start:auto;color:#7fbaff;opacity:.75;font-size:11.5px;font-weight:700}

/* Kura Sonucu'na donusun yumusakligi: sinif JS tarafindan kisa
   sureligine eklenir, reduced-motion'da asagida `auto`ya duser. */
.draw-smooth-scroll{scroll-behavior:smooth}

/* Tamamlanma: overlay'de Kapat dışında akış kalmaz. */
.draw-presentation.is-completed .draw-select-button,
.draw-presentation.is-completed .draw-countdown{display:none}
.draw-presentation.is-completed .draw-spinning-name{font-size:clamp(22px,3.4vw,38px)}

@media (prefers-reduced-motion:reduce){
  /* Reveal'da translate/scale/glow YOK, smooth scroll YOK. Temel
     görünürlük geçişi için çok kısa bir opacity kalabilir. */
  .draw-spinner-card,.draw-result-card:after{transition:none!important;animation:none!important}
  .draw-spinning-name{transition:none!important}
  .draw-spinner-card.is-revealed{transform:none!important}
  .draw-spinner-card.is-revealed .draw-spinning-name,
  .draw-spinner-card.is-revealed .draw-reveal-group{animation:drawRevealFade .12s linear both}
  @keyframes drawRevealFade{from{opacity:.6}to{opacity:1}}
  .draw-live-groups section.is-target{animation:none!important;background:rgba(117,183,255,.22)}
  /* Kayma YOK: takım doğrudan slotunda belirir. Akış sırası (reveal →
     bekle → yerleş → sonraki) DEĞİŞMEZ, yalnız hareket kalkar. */
  .draw-live-groups p.is-arriving{transition:none!important;transform:none!important;opacity:1!important}
  .draw-presentation,.draw-presentation *{scroll-behavior:auto!important}
  .draw-smooth-scroll{scroll-behavior:auto!important}
}
/* v6.356.0 — TEKRAR KURA ONAYI. Native <dialog>; odak tuzağı/Escape/backdrop
   tarayıcıdan gelir, yeni modal çerçevesi yoktur. Kart dili mevcut
   tokenlardan; 390px'te ekran dışına taşmaz. */
.draw-redraw-dialog{border:1px solid var(--tg-border);border-radius:var(--tg-radius-lg,14px);padding:18px;max-width:min(420px,calc(100vw - 32px));background:var(--tg-surface);color:var(--tg-text)}
.draw-redraw-dialog::backdrop{background:rgba(9,20,38,.55)}
.draw-redraw-dialog h3{margin:0 0 8px;font-size:17px}
.draw-redraw-dialog p{margin:0 0 16px;color:var(--tg-text-muted);line-height:1.5}
/* v6.356.0 — 2. adım (seçenekler) mevcut ayar gövdesini TAŞIR; dialog o
   adımda genişler, gövde kendi dikey kaydırmasını alır, 390px'te ekran
   dışına çıkmaz. Ayar gövdesi kendi sınıflarını korur (ikinci stil seti yok). */
.draw-redraw-dialog[data-redraw-step="2"]{max-width:min(760px,calc(100vw - 32px));width:min(760px,calc(100vw - 32px))}
.draw-redraw-options-lead{margin:0 0 12px;color:var(--tg-text-muted);font-size:13.5px;line-height:1.5}
.draw-redraw-options-host{max-height:min(62vh,640px);overflow:auto;padding:2px}
.draw-redraw-options-host .draw-settings-body{padding:0}
.draw-redraw-blocked{margin:10px 0 0;padding:10px 12px;border-radius:var(--tg-radius-md);background:var(--tg-status-warning-soft,rgba(255,193,7,.14));color:var(--tg-text);font-size:13.5px;line-height:1.45}
.draw-redraw-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.draw-redraw-dialog-actions .tg-btn{min-height:var(--tg-touch-min,44px)}
@media(max-width:430px){.draw-redraw-dialog-actions{flex-direction:column-reverse}.draw-redraw-dialog-actions .tg-btn{width:100%}}
.draw-presentation-mode span{flex:1;text-align:left}
/* Global form stili radio'yu %100 genişletiyor; kart içinde nötrlenir. */
.draw-presentation-mode input[type=radio]{flex:0 0 auto;width:16px;height:16px}
/* Footer butonu display:block ile [hidden]'ı eziyordu (P1'den beri):
   sunum bitmeden "Sonucu Gör ve Kapat" görünmemeli. */
.draw-presentation-footer button[hidden]{display:none}
/* v6.251.0 — Planlı kura paneli + form. */
.draw-schedule-countdown{margin:4px 0 8px;font-size:13px;color:#3d5570}
.draw-schedule-countdown strong{margin-left:6px;font-size:22px;font-variant-numeric:tabular-nums;color:#17324e}
.draw-schedule-form{display:grid;gap:7px;margin-top:2px}
.draw-schedule-form label{font-size:12px;font-weight:800;color:#506279}
.draw-schedule-form input[type=datetime-local]{min-height:44px;padding:8px 10px;border:1px solid #dce5ef;border-radius:9px;font:inherit}
.draw-schedule-form .draw-schedule-tz{color:#68798d;font-size:var(--tg-font-xs)}
.draw-schedule-form button{min-height:44px}
@media (max-width:430px){
  .draw-schedule-countdown strong{font-size:19px}
}
.draw-exp-card button[hidden],.draw-schedule-form[hidden],.draw-select-button[hidden]{display:none}

/* v6.274.5 (UX-REV4 §5/§6) — Kura kimlik alanı: logo yoksa takımın iki
   rengi çizilir (renkler satır içi stille gelir, tema tokenı değildir).
   Geometri DEĞİŞMEZ: alan aynı 24px grid kolonunda kalır, bu yüzden sıra
   numarası / ad / satır yüksekliği kaymaz. Nötr durum yalnız iki geçerli
   ve farklı renk YOKKEN görünür. Ölçü BURADA TEKRAR VERİLMEZ: taban
   `.draw-team-logo` kuralı (ve onun dar kırılım karşılığı) span'e de
   uygulanır; burada ölçü vermek dar kırılımı ezip logo ile iki renkli
   dairenin ölçüsünü ayırıyordu. */
.draw-team-logo.is-colors{border-radius:50%}

/*
 * ═══ v6.281.0 — MASAÜSTÜNDE DARALT/GENİŞLET KONTROLÜ YOKTUR ═══
 *
 * ÜRÜN KARARI: masaüstünde alan geniştir; grup kartı DOĞAL OLARAK açıktır
 * ve AG/YG sütunları her zaman görünür. "Detaylar" kontrolü orada bir
 * sorunu çözmüyordu, yalnız başlığa bir düğme ekliyordu.
 *
 * MOBİLDE davranış DEĞİŞMEDİ: dar ekranda AG/YG hâlâ gizlidir ve aynı
 * kontrolle açılır (public mobil dahil, K-3). Kontrol markup'ta KALIR —
 * `aria-expanded` sözleşmesi ve ortak script bozulmaz — yalnız
 * masaüstünde çizilmez.
 */
@media(max-width:760px){
  .standings-group-card:not(.is-expanded) td.standings-goal-detail,
  .standings-group-card:not(.is-expanded) th.standings-goal-detail{display:none!important}
  .standings-group-card.is-expanded th.standings-goal-detail{display:table-cell!important}
}
@media(min-width:761px){
  .standings-expand-button{display:none}
  .standings-group-card td.standings-goal-detail,
  .standings-group-card th.standings-goal-detail{display:table-cell}
}

/*
 * ═══ v6.281.0 — SATIRDAKİ TAKIM KİMLİĞİ ═══
 *
 * Geometri Fikstür'ün `.fixture-team-logo` sözleşmesiyle AYNI kalıptadır
 * (sabit kare + `flex-basis`), yalnız ölçü tabloya göre biraz küçüktür:
 * satır yüksekliği BÜYÜMEMELİDİR. Alan her satırda AYNI genişliği kaplar,
 * bu yüzden uzun takım adı hizalamayı bozamaz.
 */
.standings-team-logo{width:22px;height:22px;flex:0 0 22px;border-radius:50%}
.standings-team > strong{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* Dar ekranda kimlik dairesi küçülür ve boşluk daralır: takım sütunu
   (minmax(82px,1fr)) zaten dardır, satır yüksekliği BÜYÜMEMELİDİR. */
@media(max-width:760px){
  /* Mobilde satır CSS grid; hücre flex olabilir (tablo yerleşimi yok). */
  .standings-team{display:flex;align-items:center;gap:var(--tg-space-1);min-width:0;padding:0 3px!important}
  .standings-team-logo{width:18px;height:18px;flex-basis:18px;margin-right:0}
}
@media(max-width:390px){
  .standings-team-logo{width:16px;height:16px;flex-basis:16px}
}

/*
 * ═══ v6.282.0 — FOOTER: KARTIN PARÇASI, SONRADAN EKLENMİŞ DEĞİL ═══
 *
 * "Üst tura çıkan takımlar" lejantı ve "Sıralama nasıl belirlendi?"
 * katmanı kartın DİBİNE yapışmış gibi duruyordu: yatay dolgusu yoktu ve
 * kart kenarına değiyordu. İkisi de artık başlıkla AYNI yatay ritmi
 * paylaşır ve aynı sakin yüzeyde durur — Turnuva Aşamaları kartındaki
 * `structure-node-note` mantığı (başlık → meta → yardımcı metin).
 */
.standings-group-card .standings-explain{
  margin:0;padding:var(--tg-space-2) var(--tg-space-4) var(--tg-space-3);
  border-top:1px solid var(--tg-color-border);
  background:var(--tg-surface-soft);
}
.standings-group-card .standings-explain > summary{
  color:var(--tg-color-muted);font-size:var(--tg-font-sm);font-weight:600;
}
.standings-group-card .standings-explain > summary:hover{color:var(--tg-color-text)}
/* Lejant ile açıklama ART ARDA gelirse aralarında ikinci bir çizgi olmaz. */
.standings-group-card .standings-legend + .standings-explain{border-top:0;padding-top:0}

/*
 * ═══ v6.282.0 — KOLON HİZASI (masaüstü) ═══
 *
 * Otomatik tablo yerleşimi takım sütununu aşırı büyütüyor, sayısal
 * sütunlar sağa savruluyordu. Sütunlara TABAN GENİŞLİK verilir; tablo
 * hâlâ %100'e sığar (yatay kaydırma ÜRETİLMEZ). İkinci bir tablo sistemi
 * kurulmaz — mevcut hücre sınıfları kullanılır.
 *
 * `tabular-nums`: rakamlar sabit genişlikte hizalanır (Fikstür tablosunun
 * `.fixture-col-*` kararıyla aynı).
 */
@media(min-width:761px){
  .v3-standings-table .standings-rank{width:52px;text-align:center;font-variant-numeric:tabular-nums}
  .v3-standings-table .standings-stat{width:58px;text-align:center;font-variant-numeric:tabular-nums}
  .v3-standings-table .standings-points{width:66px;text-align:center;font-variant-numeric:tabular-nums}
  .v3-standings-table thead th{text-align:center;color:var(--tg-color-muted)}
  .v3-standings-table thead th:nth-child(2){text-align:left}
  /* Takım sütunu kalan alanı alır ama YALNIZ kalmaz: taban genişlikler
     sayısal blokları sağda derli toplu tutar. */
  .v3-standings-table .standings-team{width:auto;min-width:200px}
  .v3-standings-table .standings-team > strong{font-size:var(--tg-font-md);font-weight:var(--tg-font-weight-bold)}
}

/*
 * ═══ v6.282.0 — KİMLİK DAİRESİ TABLO HÜCRESİNİ BOZMAZ ═══
 *
 * `<td>`'ye `display:flex` vermek hücreyi tablo yerleşim bağlamından
 * çıkarır ve sütun hizasını bozabilir. Masaüstünde hücre `table-cell`
 * KALIR; kimlik satır içi hizalanır. Mobilde satır zaten CSS grid'dir,
 * orada flex güvenlidir (aşağıdaki mobil blok).
 */
/* ÖZGÜLLÜK NOTU: foundation.css `.tg-team-identity.is-colors/.is-empty`
   için `display:block` verir (0,2,0). Tablo hücresinde blok bir kimlik
   kendi satırını açar ve satır yüksekliği 45 → 66px'e çıkar. Üç sınıflı
   seçici (0,3,0) o kuralı hücre içinde geçersiz kılar — kimlik satır içi
   hizalanır ve tablo yerleşimi bozulmaz. */
.standings-team .tg-team-identity.standings-team-logo{display:inline-block;vertical-align:middle;margin-right:var(--tg-space-2)}
.standings-team > strong{vertical-align:middle}

@media(max-width:760px){
  /* Mobilde kimlik grid hücresi içinde flex öğesidir. */
  .standings-team .tg-team-identity.standings-team-logo{display:block;margin-right:0}
  .standings-group-card .standings-explain{padding:var(--tg-space-2) var(--tg-space-3) var(--tg-space-3)}
}

/*
 * ═══ v6.283.0 — KART RENGİ = AŞAMANIN SEMANTIC FORMAT RENGİ ═══
 *
 * Kart artık sabit mavi DEĞİL: hangi aşamayı gösteriyorsa o aşamanın
 * DS-090 format kimliğiyle yaşar. Aile blokları `.builder-card` /
 * `.fixture-card` ile BİREBİR aynıdır — standings'e özel renk sözlüğü
 * ya da hardcoded hex YOKTUR. Platform Grup/Lig/Eleme rengini
 * değiştirdiğinde bu kart da otomatik döner.
 *
 * Taban (öznitelik yoksa / legacy tek tablolu turnuva): lig ailesi —
 * bugünkü mavi görünüm korunur, kart kimliksiz kalmaz.
 */
.standings-group-card[data-format-family="league"]{
  --tg-format-accent:var(--tg-section-format-league-accent);
  --tg-format-soft:var(--tg-section-format-league-soft)}
.standings-group-card[data-format-family="groups"]{
  --tg-format-accent:var(--tg-section-format-groups-accent);
  --tg-format-soft:var(--tg-section-format-groups-soft)}
.standings-group-card[data-format-family="knockout"]{
  --tg-format-accent:var(--tg-section-format-knockout-accent);
  --tg-format-soft:var(--tg-section-format-knockout-soft)}

/*
 * ═══ ÜST TURA ÇIKIŞ = GİDİLEN AŞAMANIN RENGİ ═══
 *
 * Vurgunun anlamı "buradan çıktı" değil, "şu aşamaya GİDİYOR"dur; bu
 * yüzden rengi HEDEF aşamanın format ailesinden gelir. Generic yeşil
 * KULLANILMAZ.
 *
 * Kartın kendi rengiyle çakışmaz: bir grup aşaması elemeye çıkar, iki
 * aile zaten farklıdır. Hedef çözülemezse (kural yok / faz okunamıyor)
 * öznitelik hiç basılmaz ve aşağıdaki NÖTR taban geçerli olur — bilgi
 * kaybolmaz, yalnız rengi semantik olmayan başarı tonuna düşer.
 */
.standings-group-card{
  --tg-qualify-accent:var(--tg-status-success);
  --tg-qualify-soft:var(--tg-status-success-soft);
}
.standings-group-card[data-qualification-family="league"]{
  --tg-qualify-accent:var(--tg-section-format-league-accent);
  --tg-qualify-soft:var(--tg-section-format-league-soft)}
.standings-group-card[data-qualification-family="groups"]{
  --tg-qualify-accent:var(--tg-section-format-groups-accent);
  --tg-qualify-soft:var(--tg-section-format-groups-soft)}
.standings-group-card[data-qualification-family="knockout"]{
  --tg-qualify-accent:var(--tg-section-format-knockout-accent);
  --tg-qualify-soft:var(--tg-section-format-knockout-soft)}

/* Satır vurgusu ve lejant örneği bu değişkenlerden beslenir; kuralların
   KENDİSİ app.css'te tek yerde durur (ikinci bir kopya tutulmaz). */

/*
 * ═══ v6.284.0 — KART TEK PARÇA SEMANTIC YÜZEYDİR ═══
 *
 * SORUN: renk YALNIZ başlıkta ve sol kenardaydı. Başlık tonlu, gövde
 * beyaz, sütun başlığı şeridi nötr gri (`--tg-color-page`), footer başka
 * bir nötr gri (`--tg-surface-soft`) — kart "üstü ayrı, altı ayrı" iki
 * parça gibi okunuyordu.
 *
 * KARAR: kartın TAMAMI tek bir aileden beslenen TON MERDİVENİdir. Renk
 * kaynağı değişmedi (§1.3.5): `--tg-format-accent`, yani aşamanın DS-090
 * format kimliği. Yeni token AÇILMAZ, hardcoded hex YAZILMAZ — yalnız
 * aynı accent'in farklı yoğunluktaki `color-mix` basamakları tanımlanır.
 *
 * Merdiven accent YÜZDESİYLE kurulur, `soft` ile DEĞİL: `soft`'un
 * tanımı temaya göre değişir (tokens.css'te literal, üretilen temada
 * accent %12) ve iki tanım aynı yüzdeyle çok farklı sonuç verirdi.
 * Accent üzerinden kurulan merdiven her iki durumda da aynı hafif
 * bantta kalır.
 *
 * OKUNABİLİRLİK: en yoğun basamak %10'dur — doygun/koyu blok boyama
 * DEĞİL. Satır metni `--tg-color-text` olarak kalır; ölçülen kontrast
 * en koyu basamakta bile WCAG AA üstündedir.
 */
.standings-group-card{
  --tg-standings-surface:color-mix(in srgb,var(--tg-format-accent) 4%,var(--tg-color-surface));
  --tg-standings-strip:color-mix(in srgb,var(--tg-format-accent) 7%,var(--tg-color-surface));
  --tg-standings-raise:color-mix(in srgb,var(--tg-format-accent) 10%,var(--tg-color-surface));
  --tg-standings-line:color-mix(in srgb,var(--tg-format-accent) 14%,var(--tg-color-border));
  background:var(--tg-standings-surface);
}
/* Başlık ayrı bir kart değil, aynı yüzeyin bir basamak koyu bandıdır;
   ayırıcı çizgi de nötr griden aileye döner. */
.standings-group-card .standings-group-head{
  background:var(--tg-standings-raise);
  border-bottom:1px solid var(--tg-standings-line);
}
/* Sütun başlığı şeridi (mobil) ve tablo başlığı (masaüstü) AYNI basamak. */
.standings-group-card .standings-column-head{
  background:var(--tg-standings-strip);
  border-bottom:1px solid var(--tg-standings-line);
}
.standings-group-card .v3-standings-table thead th{
  background:var(--tg-standings-strip);
  border-bottom:1px solid var(--tg-standings-line);
}
/* Satır ayırıcıları da aynı aileden: nötr gri hatlar kartı ikiye bölüyordu. */
.standings-group-card .standings-mobile-table tr,
.standings-group-card .v3-standings-table tbody td{border-bottom-color:var(--tg-standings-line)}
.standings-group-card .standings-mobile-table tr:last-child,
.standings-group-card .v3-standings-table tbody tr:last-child td{border-bottom-color:transparent}
/* Footer (lejant + "Sıralama nasıl belirlendi?") sütun başlığıyla aynı
   basamakta durur: kart alttan da aynı yüzeyle kapanır. */
.standings-group-card .standings-legend,
.standings-group-card .standings-explain{
  background:var(--tg-standings-strip);
  border-top:1px solid var(--tg-standings-line);
}
.standings-group-card .standings-legend + .standings-explain{border-top:0}
/*
 * ═══ v6.284.2 — SIRA VE PUAN HÜCRESİ DÜZ METİNDİR ═══
 *
 * Sıra numarası bir rozet DEĞİLDİR, puan hücresi bir kart DEĞİLDİR.
 * İkisi de mobilde kutu (sabit ölçü + köşe yarıçapı + zemin) olarak
 * çiziliyordu; kart tek yüzey hâline gelince bu kutular yüzeyin üstünde
 * ikinci bir katman gibi durdu ve üst tura çıkan satırın hedef-aşama
 * tonunu tam o iki sütunda kesti.
 *
 * KARAR: hücre zemini, yarıçapı ve sabit ölçüsü YOKTUR. Hiyerarşi
 * yalnız TİPOGRAFİ ile kurulur — sıra sessiz (muted), puan güçlü
 * (black + aşamanın semantic accent'i). Izgara hizası DEĞİŞMEZ: genişlik
 * zaten satırın grid şablonundan gelir, hücre ölçü vermez.
 *
 * Üst tura çıkış zaten satır tonu + lejant + `.sr-only` metniyle
 * anlatılır; puan hücresine ek dekor GEREKMEZ.
 * Kutu özellikleri (sabit ölçü / yarıçap / zemin) KAYNAK kurallardan
 * silindi; burada üst üste binen bir "geri alma" katmanı tutulmaz.
 * Geriye yalnız iki renk kararı kalır ve ikisi de her genişlikte aynıdır.
 */
.standings-group-card .standings-rank{color:var(--tg-color-muted)}
.standings-group-card .standings-points{
  color:var(--tg-format-accent);font-weight:var(--tg-font-weight-black);
}

/*
 * ═══ v6.285.0 — ELEME AĞACI (Puan Durumu / Eleme sekmesi) ═══
 *
 * Kart `.standings-group-card` reçetesindedir ve `data-format-family=
 * "knockout"` taşır: ton merdiveni, sol aksan, başlık → meta → açıklama
 * hep aynı aileden gelir. Buradaki her renk `--tg-format-accent` /
 * `--tg-standings-*` karışımıdır; yerel hex YOKTUR — platform Eleme
 * rengini değiştirirse ağaç da döner.
 *
 * YERLEŞİM: her tur bir kolondur; tur içindeki eşleşmeler eşit yükseklikte
 * flex öğeleridir. Bir sonraki turun eşleşmesi TAM İKİ besleyici kadar
 * yer kapladığı için besleyicilerin merkezleri %25 / %75'e düşer —
 * bağlantı çizgileri bu geometriden çizilir, JavaScript YOKTUR. Ön eleme
 * ile ilk normal tur arasında BYE'lar olduğu için o geçişte çizgi
 * çizilmez (`data-connect="0"`): sahte bir bağlantı üretmektense boş.
 *
 * MOBİL: ağaç ezilmez; yatay kaydırma YALNIZ `.bracket-scroll` içindedir
 * (kart `overflow:hidden`, sayfa taşmaz). Akordiyon yoktur.
 */
.bracket-card .standings-group-head{align-items:flex-start}
.bracket-status{
  flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;
  padding:0 var(--tg-space-2);border-radius:var(--tg-radius-pill);
  background:color-mix(in srgb,var(--tg-format-accent) 12%,var(--tg-color-surface));
  color:var(--tg-format-accent);font-size:var(--tg-font-xs);font-weight:var(--tg-font-weight-bold);
  white-space:nowrap;
}
.bracket-status[data-bracket-status="completed"]{background:var(--tg-status-success-soft);color:var(--tg-status-success)}
.bracket-intro,.bracket-source{
  margin:0;padding:var(--tg-space-2) var(--tg-space-4) 0;
  color:var(--tg-color-muted);font-size:var(--tg-font-sm);line-height:1.4;
}
.bracket-source{padding-top:var(--tg-space-1);font-size:var(--tg-font-xs)}
.bracket-empty{padding:var(--tg-space-5) var(--tg-space-4)}
.bracket-scroll{
  overflow-x:auto;overflow-y:hidden;
  padding:var(--tg-space-3) var(--tg-space-4) var(--tg-space-4);
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;outline-offset:-2px;
}
.bracket-grid{
  --bracket-col:200px;--bracket-gap:28px;
  --bracket-line:color-mix(in srgb,var(--tg-format-accent) 45%,var(--tg-color-border));
  display:grid;grid-auto-flow:column;grid-auto-columns:var(--bracket-col);
  column-gap:var(--bracket-gap);align-items:stretch;min-width:max-content;
}
.bracket-round{display:flex;flex-direction:column;min-width:0}
.bracket-round-title{
  margin:0 0 var(--tg-space-2);color:var(--tg-color-text);text-align:center;
  font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-black);line-height:1.3;
}
.bracket-ties{display:flex;flex:1 1 auto;flex-direction:column;margin:0;padding:0;list-style:none}
/* `flex:1 0 auto`: eşleşme kendi içeriğinin altına KÜÇÜLMEZ (en kalabalık
   tur kolon yüksekliğini kurar), fazla alan eşit dağılır — sonraki turların
   eşleşmeleri iki besleyicinin ortasına oturur. */
.bracket-tie{position:relative;display:flex;flex:1 0 auto;align-items:center;padding:var(--tg-space-1) 0}
.bracket-tie-box{
  position:relative;flex:1 1 auto;min-width:0;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--tg-format-accent) 24%,var(--tg-color-border));
  border-radius:var(--tg-radius-md);background:var(--tg-color-surface);
}
.bracket-tie.is-finished .bracket-tie-box{border-color:color-mix(in srgb,var(--tg-format-accent) 45%,var(--tg-color-border))}
.bracket-tie.is-live .bracket-tie-box,.bracket-tie.is-halftime .bracket-tie-box{border-color:var(--tg-status-live,var(--tg-format-accent))}
.bracket-slot{display:flex;align-items:center;gap:var(--tg-space-2);min-height:36px;padding:var(--tg-space-1) var(--tg-space-2)}
.bracket-slot+.bracket-slot{border-top:1px solid color-mix(in srgb,var(--tg-format-accent) 14%,var(--tg-color-border))}
.bracket-team-logo{width:22px;height:22px;flex:0 0 22px;border-radius:50%}
.bracket-slot .tg-team-identity.bracket-team-logo{display:block}
.bracket-slot-name{
  flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--tg-color-text);font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-bold);
}
.bracket-slot-name .entity-link{color:inherit}
/* Kesinleşmemiş slot: kaynak etiketi sakin, kimlik alanı boş ama YERİ SABİT. */
.bracket-slot.kind-source .bracket-slot-name,
.bracket-slot.kind-winner .bracket-slot-name,
.bracket-slot.kind-pending .bracket-slot-name{color:var(--tg-color-muted)}
.bracket-slot-pending{flex:0 0 auto;color:var(--tg-color-muted);font-size:10px;font-weight:var(--tg-font-weight-bold)}
.bracket-slot-score{
  flex:0 0 auto;min-width:22px;text-align:right;color:var(--tg-color-text);
  font-size:var(--tg-font-sm);font-weight:var(--tg-font-weight-black);font-variant-numeric:tabular-nums;
}
/* Turu geçen takım: aynı ailenin hafif basamağı + accent metin; anlam
   ayrıca `.sr-only` metinle verilir (yalnız renk değil). */
.bracket-slot.is-winner{background:color-mix(in srgb,var(--tg-format-accent) 8%,var(--tg-color-surface))}
.bracket-slot.is-winner .bracket-slot-name,.bracket-slot.is-winner .bracket-slot-score{color:var(--tg-format-accent)}
.bracket-tie-meta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px var(--tg-space-2);
  padding:2px var(--tg-space-2) 4px;
  border-top:1px solid color-mix(in srgb,var(--tg-format-accent) 14%,var(--tg-color-border));
  background:var(--tg-standings-strip);color:var(--tg-color-muted);
  font-size:10px;font-weight:var(--tg-font-weight-bold);line-height:1.3;
}
.bracket-tie-note{flex-basis:100%}
.bracket-tie-state[data-tie-state="finished"]{color:var(--tg-format-accent)}
/* ── Bağlantı çizgileri (saf CSS geometri) ── */
.bracket-round:has(+ .bracket-round[data-connect="1"]) .bracket-tie::after{
  content:"";position:absolute;left:100%;top:50%;width:calc(var(--bracket-gap) / 2);
  border-top:2px solid var(--bracket-line);
}
.bracket-round[data-connect="1"] .bracket-tie::before{
  content:"";position:absolute;right:100%;top:25%;height:50%;width:calc(var(--bracket-gap) / 2);
  box-sizing:border-box;border:2px solid var(--bracket-line);border-right:0;
  border-radius:6px 0 0 6px;
}
.bracket-round[data-connect="1"] .bracket-tie-box::before{
  content:"";position:absolute;right:100%;top:50%;width:calc(var(--bracket-gap) / 2);
  border-top:2px solid var(--bracket-line);
}
/* Şampiyon: tek düğüm, tek besleyici (final) → düz çizgi. */
.bracket-round.is-champion .bracket-tie::before{top:50%;height:0;border-radius:0;border-top:2px solid var(--bracket-line);border-bottom:0}
.bracket-round.is-champion .bracket-tie-box::before{content:none}
.is-champion-node .bracket-tie-box{
  border-color:var(--tg-format-accent);
  background:color-mix(in srgb,var(--tg-format-accent) 8%,var(--tg-color-surface));
}
.is-champion-node .bracket-slot.kind-team .bracket-slot-name{color:var(--tg-format-accent);font-weight:var(--tg-font-weight-black)}
/* 3.'lük maçı: ana omurganın dışında, kompakt yan düğüm. */
.bracket-side{padding:0 var(--tg-space-4) var(--tg-space-4);max-width:calc(var(--bracket-col,200px) + 2 * var(--tg-space-4))}
.bracket-side .bracket-round-title{text-align:left}
.bracket-side .bracket-ties{flex:0 0 auto}
@media(max-width:760px){
  /* Kolon DARALTILMAZ (takım adı + logo + skor okunur kalır); alan
     yetmiyorsa ağaç kendi kutusunda yatay kayar — ilk kolon tam, ikincisi
     kenardan görünür (kaydırma ipucu). */
  .bracket-grid{--bracket-col:204px;--bracket-gap:22px}
  /* Dar kolonda slot içi "Kesinleşmedi" tekrarı takım adını kırpıyordu;
     eşleşme altındaki meta satırı aynı bilgiyi zaten taşır. */
  .bracket-slot-pending{display:none}
  .bracket-intro,.bracket-source{padding-left:var(--tg-space-3);padding-right:var(--tg-space-3)}
  .bracket-scroll{padding:var(--tg-space-2) var(--tg-space-3) var(--tg-space-3)}
  .bracket-side{padding:0 var(--tg-space-3) var(--tg-space-3)}
}
/* v6.391.0 (UX_ARCHITECTURE §15.11) — taslak kurada sonucun altındaki tek
   ikincil satır (Katılımcıları Geri Aç); ayrı bir kart çerçevesi YOK. */
.draw-secondary-row{margin:4px 0 16px}
.draw-secondary-row .tg-note{margin:0;flex:none}
