/* Fantasy Zone - AFL pages. Builds on the main theme (styles/theme-pro/pink/platform). */
.aflBadge{animation:none}
.aflHeadBtn{display:inline-flex;align-items:center;justify-content:center;width:auto!important;flex:none;padding:8px 12px;border-radius:10px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid var(--line);color:var(--text,#fff)}
.aflBtnLink{display:inline-block;margin-top:8px;padding:11px 18px;border-radius:10px;background:linear-gradient(90deg,#ff2d95,#7b5cff,#12c9d8);color:#fff;font-weight:800;text-decoration:none}
.aflStatus{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.aflOnClock{font-size:21px;font-weight:800;margin:2px 0}
.aflStatus .clock{font-size:26px;font-variant-numeric:tabular-nums;color:var(--aqua)}
.aflBig{margin-top:12px;width:auto!important;padding:12px 18px}
.aflSteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:12px 0 4px}
.aflSteps>div{background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px}
.aflSteps b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(47,211,223,.15);color:var(--aqua);margin-right:6px;font-size:12px}
.aflSteps .done b{background:var(--aqua);color:#0b0d14}

.aflPos{display:inline-block;font-family:var(--font-cond,inherit);font-size:11px;font-weight:700;letter-spacing:.4px;padding:1px 6px;border-radius:5px;margin-right:4px;border:1px solid}
.aflPos-DEF{color:#4fb3ff;border-color:rgba(79,179,255,.5);background:rgba(79,179,255,.1)}
.aflPos-MID{color:#2fd3df;border-color:rgba(47,211,223,.5);background:rgba(47,211,223,.1)}
.aflPos-RUC{color:#b28cff;border-color:rgba(178,140,255,.5);background:rgba(178,140,255,.1)}
.aflPos-FWD{color:#ff5aa5;border-color:rgba(255,90,165,.5);background:rgba(255,90,165,.1)}
.aflPos-BN,.aflPos-BENCH{color:var(--muted);border-color:var(--line)}
.aflPos2{opacity:.75}

.aflSquad{display:flex;flex-direction:column;gap:10px;margin:8px 0}
.aflLineH{font-family:var(--font-cond,inherit);font-weight:700;font-size:14px;letter-spacing:.4px;margin-bottom:5px}
.aflLineP{display:flex;flex-wrap:wrap;gap:6px}
.aflChip{display:inline-flex;align-items:center;gap:8px;width:auto!important;text-align:left;background:var(--raised)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:6px 10px!important;color:inherit!important;font-weight:400!important;min-height:0!important}
.aflChip span b{display:block;font-size:13px}.aflChip small{display:block;color:var(--muted);font-size:11px}
.aflChip.empty{border-style:dashed!important;color:var(--muted)!important;font-size:12px;padding:10px 12px!important;background:transparent!important}
.aflLink{cursor:pointer}.aflLink:hover{color:var(--aqua)}
.aflNoFit{color:#ff6b7a}
.aflYou{font-size:11px;font-weight:800;color:#0b0d14;background:var(--aqua);border-radius:5px;padding:1px 6px;margin-left:4px}

.aflTableWrap{overflow-x:auto;margin:8px 0}
.aflTable{width:100%;border-collapse:collapse;font-size:14px}
.aflTable th{font-family:var(--font-cond,inherit);font-size:12px;letter-spacing:.4px;color:var(--muted);text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap;cursor:default}
.aflTable th[data-psort]{cursor:pointer}.aflTable th.on{color:var(--aqua)}
.aflTable td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.aflTable td small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.aflTable tbody tr[data-player]{cursor:pointer}.aflTable tbody tr[data-player]:hover{background:rgba(255,255,255,.03)}
.aflTable.small{font-size:13px}.aflTable.small td,.aflTable.small th{padding:5px 6px}
.aflBoard td{min-width:120px;font-size:12px}.aflBoard td b{font-size:12px}
.aflScore{max-width:340px}

.aflOrder{padding-left:22px;margin:6px 0 10px}.aflOrder li{padding:5px 0;display:list-item}
.aflOrder li .avatar{vertical-align:middle;margin-right:6px}
.aflOrdBtns{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}
.aflOrdBtns button,.drS{width:auto!important;padding:4px 9px!important;min-height:0!important}
.aflRow{gap:8px;flex-wrap:wrap;margin:6px 0 10px}.aflRow button{width:auto!important}
.aflAdmRow{display:flex;align-items:center;gap:8px;margin:6px 0}.aflAdmRow input{flex:1;min-width:0;margin:0}
.aflPosEdit{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:6px 0 10px}
.aflPosEdit label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.aflPosEdit input{margin:0}
.aflCheck{display:flex;align-items:center;gap:8px;font-size:14px;margin:8px 0}.aflCheck input{width:auto;margin:0}

.aflModal{position:fixed;inset:0;z-index:50;background:rgba(5,7,12,.72);display:flex;align-items:flex-start;justify-content:center;padding:40px 12px;overflow-y:auto}
.aflModal.hidden{display:none}
.aflModalBox{position:relative;width:100%;max-width:760px;margin:0!important}
.aflModalX{position:absolute;top:10px;right:10px;width:auto!important;padding:4px 10px!important}
.aflToast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;z-index:60;background:var(--panel,#1e2128);border:2px solid var(--aqua);color:var(--text,#eceff3);box-shadow:0 8px 30px rgba(0,0,0,.25);padding:12px 18px;border-radius:12px;font-weight:700;transition:.25s;max-width:90vw}
.aflToast.on{opacity:1;transform:translateX(-50%)}.aflToast.bad{border-color:#ff5468}

/* sport picker on the create-league screen */
.clSport{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 12px}
.clSport button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px!important;background:var(--raised)!important;border:1px solid var(--line)!important;color:inherit!important;border-radius:12px!important}
.clSport button b{font-size:16px}.clSport button small{color:var(--muted);font-size:12px;font-weight:400}
.clSport button .ico{font-size:28px;line-height:1}
.clSport button.on{border-color:var(--pink)!important;box-shadow:0 0 0 1px var(--pink) inset}

/* season: team picker, matchup, ladder */
.aflTeamHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.aflTeamHead h2{margin:0}
.aflRoundPick{display:flex;gap:8px;align-items:center}.aflRoundPick label{font-size:13px;color:var(--muted)}.aflRoundPick select{width:auto;margin:0}
.aflBigScore{text-align:right}.aflBigScore small{display:block;color:var(--muted);font-size:12px}.aflBigScore b{font-size:34px;color:var(--aqua);font-variant-numeric:tabular-nums;line-height:1}
.aflSelBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(255,45,149,.1);border:1px solid rgba(255,45,149,.45);border-radius:10px;padding:8px 12px;margin:6px 0 10px;font-size:14px}
.aflPc{min-width:250px;flex:1 1 250px;max-width:380px;position:relative;padding-right:52px!important}
.aflPc .aflPts{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:800;font-size:18px;color:var(--aqua);font-variant-numeric:tabular-nums}
.aflPc.sel{border-color:var(--pink)!important;box-shadow:0 0 0 1px var(--pink) inset}
.aflPc.target{border-color:var(--aqua)!important;box-shadow:0 0 12px rgba(47,211,223,.35)}
.aflPc.locked{opacity:.85}
.aflPc.covered{opacity:.55}.aflPc.covered .aflPts{text-decoration:line-through;color:var(--muted)}
.aflPc.counts{border-color:rgba(255,200,80,.6)!important}
.aflCov{color:#ffc850!important}
.aflMu{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:820px){.aflMu{grid-template-columns:1fr}}
.aflMuCol .aflPc{max-width:none;width:100%!important;margin-bottom:6px}
.aflMuHead{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--raised);border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
.aflMuHead div{flex:1;min-width:0}.aflMuHead b{display:block;font-size:16px}.aflMuHead small{display:block;font-size:12px}
.aflMuHead em{font-style:normal;font-weight:800;font-size:28px;color:var(--aqua);font-variant-numeric:tabular-nums}
.aflMuSlot{font-family:var(--font-cond,inherit);font-size:12px;letter-spacing:.5px;color:var(--muted);margin:10px 0 4px}
.aflGames{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin:4px 0 12px}
.aflGames span{flex:none;background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:13px;white-space:nowrap}
.aflGames span.live{border-color:#ff5468}.aflGames i{color:var(--muted);font-style:normal;margin:0 3px}
.aflGames small{display:block;color:var(--muted);font-size:11px}
.aflLadder tr.fin td:first-child{box-shadow:inset 3px 0 0 var(--aqua)}
.aflLadder tr.me td{background:rgba(255,45,149,.08)}
.aflHomeMu{display:flex;align-items:center;gap:14px;background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:8px 0 12px;cursor:pointer}
.aflHomeMu div{flex:1;text-align:center}.aflHomeMu b{display:block}.aflHomeMu em{display:block;font-style:normal;font-weight:800;font-size:32px;color:var(--aqua)}
.aflHomeMu span{color:var(--muted);font-weight:700}

/* free agents + trades */
.aflMini{width:auto!important;padding:3px 9px!important;min-height:0!important;font-size:12px!important;margin-left:6px}
.aflDropList{max-height:50vh;overflow-y:auto}
.aflTrade{background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}
.aflTrade.accepted{border-color:rgba(47,211,223,.5)}.aflTrade.declined,.aflTrade.cancelled{opacity:.6}
.aflTrSides{display:flex;gap:10px;align-items:center}.aflTrSide{flex:1;display:flex;flex-direction:column;gap:3px;font-size:14px}
.aflTrSide small{color:var(--muted);font-size:12px}.aflTrX{font-size:20px;color:var(--aqua)}
.aflTrBuild{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}@media(max-width:700px){.aflTrBuild{grid-template-columns:1fr}}
.aflTrBuild h4{margin:4px 0 6px;font-size:14px}
.aflTrPick{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}
.aflTrPick label{display:flex;align-items:center;gap:6px;font-size:13px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:inherit}
.aflTrPick label.on{border-color:var(--pink);background:rgba(255,45,149,.08)}
.aflTrPick input{width:auto;margin:0}.aflTrPick small{margin-left:auto;color:var(--muted)}
.aflMoves{font-size:13px;max-height:320px;overflow-y:auto}.aflMoves>div{padding:5px 0;border-bottom:1px solid var(--line)}.aflMoves small{color:var(--muted);margin-right:4px}

/* salary cap */
.aflCapBar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--raised);border:1px solid var(--line);border-top:2px solid var(--aqua);border-radius:12px;padding:10px 14px;margin:0 0 12px}
.aflCapBar>div{min-width:110px}.aflCapBar small{display:block;color:var(--muted);font-size:12px}.aflCapBar b{font-size:20px;font-variant-numeric:tabular-nums}
.aflCapBar button{margin-left:auto}.aflCapBar.slim b{font-size:16px}
.aflCapNote{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:rgba(47,211,223,.08);border:1px solid rgba(47,211,223,.4);border-radius:12px;padding:10px 14px;margin-bottom:12px}
.aflCapNote button{margin-left:auto}
.aflPrice{position:absolute;right:10px;bottom:6px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.aflPrice i{font-style:normal;margin-left:4px}.aflPrice i.up{color:#3ddc97}.aflPrice i.down{color:#ff6b7a}
.aflSell{position:absolute;right:10px;top:6px;font-size:11px;font-weight:700;color:#ff6b7a;border:1px solid rgba(255,107,122,.5);border-radius:6px;padding:0 6px;cursor:pointer}
.aflPc:has(.aflPrice) .aflPts{top:46%}
.aflCap{display:inline-block;font-style:normal;font-size:10px;font-weight:900;color:#0b0d14;background:#ffc850;border-radius:4px;padding:0 4px;margin-right:5px;vertical-align:1px}
.aflCap.vc{background:#b9c3d6}

/* finals (31 Oct 2026) */
.aflFinals{margin:0 0 18px}.aflFinals h2{margin-bottom:4px}
.aflPrem{display:flex;flex-direction:column;background:var(--aqua);color:var(--aqua-ink);padding:12px 16px;margin-bottom:12px;border-radius:3px}
.aflPrem small{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.aflPrem b{font-family:var(--fz-cond,'Barlow Condensed');font-style:italic;font-size:30px;text-transform:uppercase;line-height:1.1}
.aflFinWeek{margin:10px 0}.aflFinWeek h3{font-size:15px;margin:0 0 6px;color:var(--text2)}
.aflFinGame{display:grid;grid-template-columns:1fr auto auto auto 1fr;gap:10px;align-items:center;background:var(--raised);border:1px solid var(--line);border-radius:3px;padding:8px 12px;margin-bottom:6px}
.aflFinGame span:last-child{text-align:right}.aflFinGame b{font-family:var(--fz-cond,'Barlow Condensed');font-size:20px;min-width:44px;text-align:center}.aflFinGame i{color:var(--muted);font-style:normal}
.aflFinGame .win{font-weight:800;color:var(--aqua)}

.aflProsp{display:inline-block;font-family:var(--fz-cond,'Barlow Condensed');font-weight:800;font-style:italic;font-size:11px;letter-spacing:.04em;text-transform:uppercase;background:var(--pink);color:#fff;padding:1px 6px;border-radius:2px;vertical-align:2px}

/* teams page (31 Oct 2026) */
.aflTeamsList{display:flex;flex-direction:column;gap:6px}
.aflTeamRow{display:flex;align-items:center;gap:12px;background:var(--raised);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:3px;padding:10px 12px}
.aflTeamRow.in{border-left-color:var(--aqua)}.aflTeamRow.open{opacity:.75;border-style:dashed;border-left-style:solid}.aflTeamRow.me{border-color:var(--pink);border-left-color:var(--pink)}
.aflTeamTxt{flex:1;min-width:0}.aflTeamTxt b{display:block;font-size:15px}.aflTeamTxt small{color:var(--muted);font-size:13px}
.aflTeamRow em{font-style:normal;color:var(--aqua);font-weight:800;font-size:18px}
.aflLive{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good,#34d399);margin-right:5px;vertical-align:1px}

.aflLockNote{padding:10px 14px;border-radius:3px;margin:6px 0 14px;font-size:14px;border-left:4px solid var(--aqua);background:var(--raised)}
.aflLockNote.locked{border-left-color:var(--pink)}

/* dynasty season (31 Oct 2026) */
.aflDynSteps{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.aflDynSteps details{background:var(--raised);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:3px;padding:8px 12px}
.aflDynSteps details.now{border-left-color:var(--pink);background:var(--panel)}
.aflDynSteps summary{cursor:pointer;font-size:15px}.aflDynSteps ul{margin:8px 0 2px;padding-left:18px}.aflDynSteps li{margin:4px 0;color:var(--text2);font-size:14px;line-height:1.45}
.aflDynList{display:flex;flex-direction:column;gap:4px;max-height:420px;overflow:auto}.aflDynRow{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--raised);border-radius:3px}.aflDynRow span{flex:1}

.aflSimBox{margin-top:16px;padding:12px 14px;border:2px dashed var(--pink);border-radius:4px;background:var(--raised)}.aflSimBox h3{margin-top:0}
/* AFL Clubs auction */
.auLot{border:1px solid var(--line);border-top:4px solid var(--aqua,#2fd3df);border-radius:4px;background:var(--raised);padding:14px 16px;margin:12px 0}
.auLot.lead{border-top-color:var(--pink,#ff4d8d)}
.auLotTop{font-family:var(--fz-cond);font-style:italic;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.auLotMain{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin:8px 0}
.auClub{display:flex;align-items:center;gap:10px;font-size:22px;font-family:var(--fz-cond);font-weight:800}
.auBadge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;padding:0 6px;border-radius:3px;background:var(--panel);border:1px solid var(--line);font-family:var(--fz-cond);font-weight:800;font-size:14px}
.auBid,.auClockBox{display:flex;flex-direction:column;align-items:flex-start}
.auBid small,.auClockBox small{color:var(--muted);font-size:12px}
.auBid b{font-family:var(--fz-cond);font-size:30px;color:var(--aqua,#2fd3df);line-height:1}
.auBid span{font-size:13px}
.auClockBox b{font-family:var(--fz-cond);font-size:30px;line-height:1}
.auClockBox b.hot{color:var(--pink,#ff4d8d)}
.auBids{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.auBids button{width:auto}
.auBids input,.auOwn input{width:100px}
.auOwn{display:inline-flex;gap:6px}
.auTeams{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.auTeams>div{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}
.auTeams>div>span:not(.avatar){flex:1;display:flex;flex-direction:column;min-width:0}
.auTeams>div small{color:var(--muted);font-size:12px}
.auTeams>div em{font-style:normal;font-weight:700}
.auTeams>div.mine{box-shadow:inset 4px 0 0 var(--pink,#ff4d8d)}
.auTeams>div.turn{border-color:var(--aqua,#2fd3df)}
.auClubs{display:flex;flex-direction:column;gap:6px}
.auClubs>div{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel)}
.auClubs>div>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0}
.auClubs>div small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auClubs>div.sold{opacity:.6}
.auClubs>div.on{border-color:var(--aqua,#2fd3df)}
.auCash{margin-top:8px}
.auBrandRow{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.auBrandRow .grid{flex:1;min-width:240px}
.auBrand input[type=color]{height:40px;padding:2px;cursor:pointer}
.aflPresetRow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}
.auProxy{display:block;font-style:normal;font-size:12px;font-weight:700;color:var(--aqua,#2fd3df);margin-top:2px}
.auPxEdit{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.auPxEdit input{width:120px}.auPxEdit button{width:auto}

.auTeams .auOwns{color:var(--pink,#ff4d8d);font-weight:700}
.aflNoms{border:1px solid var(--pink,#ff4d8d);border-radius:4px;padding:10px 12px;margin:12px 0}.aflNoms h4{margin:10px 0 6px}.aflDynRow.nom{box-shadow:inset 3px 0 0 var(--pink,#ff4d8d)}
.aflTrAn{border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin:6px 0 10px;background:var(--raised)}.aflTrAnRow{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-top:4px}.aflTrAnRow>span:first-child{min-width:140px;font-weight:600}.aflTrAn .up{color:var(--aqua,#19c3b4)}.aflTrAn .down{color:var(--pink,#ff4d8d)}
.aflProsp.aflGone{background:#6b7280}
/* 2 Nov 2026: practice round card (home, before Round 1) */
.aflPractice{border:1px dashed var(--aqua);border-radius:14px;padding:14px 16px;margin:0 0 16px;background:var(--panel)}
.aflPrHead b{font-size:17px;display:block}.aflPrHead small{color:var(--muted)}
.aflPractice .aflHomeMu em small{font-size:15px;color:var(--muted)}
.aflPrMore{margin-top:10px}.aflPrMore summary{cursor:pointer;color:var(--aqua);font-weight:700}
.aflPrMore ol{margin:8px 0 0;padding-left:22px}.aflPrMore li{padding:3px 0}.aflPrMore li span{display:inline-block;min-width:60%}.aflPrMore li.me{color:var(--aqua);font-weight:700}
/* 3 Nov 2026: phones - the Matchup round/team pickers and the chat box could push the page a few px wider than the screen */
.aflRoundPick{flex-wrap:wrap;max-width:100%;min-width:0}.aflRoundPick select{max-width:100%;min-width:0;text-overflow:ellipsis}
.aflTeamHead>*{min-width:0;max-width:100%}
.aflMu,.aflMuCol{min-width:0}.aflMuCol{overflow-wrap:anywhere}
#at-chat .drChat,#at-draft .drChat{overflow-wrap:anywhere;min-width:0}
#at-chat .drSay,#at-draft .drSay{display:flex;gap:8px;min-width:0;max-width:100%}#at-chat .drSay input,#at-draft .drSay input{min-width:0;flex:1}#at-chat .drSay button,#at-draft .drSay button{flex:none}

/* AFL player photos (3 Nov 2026) */
.avatar.avAfl{position:relative;overflow:hidden;background:var(--raised,#272b33)!important;box-shadow:inset 0 0 0 1.5px #ffffff30}
.avatar.avAfl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 8%}
.aflPRow{display:flex;align-items:center;gap:8px}.aflPRow>span:last-child{display:flex;flex-direction:column;min-width:0}
.aflPHead{display:flex;align-items:center;gap:12px}
