/* DartVision v7.40.0 · Platform Redesign Phase 3
   Login, game setup, statistics, training, tournaments, settings and overlays. */

/* ---------- Authentication ---------- */
#authGate{
  background:
    linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.44) 26%,rgba(0,0,0,.44) 74%,rgba(0,0,0,.92)),
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.72)),
    url('../branding/dartprime-bg-dark.jpg') center/cover no-repeat,#030303!important;
}
.authGateCard{
  width:min(520px,calc(94 * var(--dp-vw)))!important;padding:28px 34px 30px!important;border:1px solid rgba(var(--dv-red-rgb),.46)!important;border-radius:10px!important;
  background:linear-gradient(180deg,rgba(13,8,10,.94),rgba(5,4,4,.97))!important;
  box-shadow:0 30px 100px rgba(0,0,0,.72),0 0 42px rgba(var(--dv-red-rgb),.08),inset 0 1px rgba(255,255,255,.035)!important;
  backdrop-filter:blur(12px)!important;position:relative;overflow:hidden;
}
.authGateCard:before{content:"";position:absolute;left:12%;right:12%;top:0;height:2px;background:linear-gradient(90deg,transparent,#e51b29 24%,#ff4652 50%,#e51b29 76%,transparent);box-shadow:0 0 18px rgba(var(--dv-red-rgb),.6)}
.authGateBrandImage{width:min(470px,100%)!important;max-height:175px!important;object-fit:contain!important;margin:0 auto 6px!important;filter:drop-shadow(0 16px 28px rgba(0,0,0,.5))!important}
.authGateTagline{font-size:8px!important;letter-spacing:.30em!important;color:#c4bfc1!important;margin-top:4px!important}
.authGateHero .authGateWelcome{font-size:20px!important;letter-spacing:.03em!important;margin:18px 0 4px!important;color:#fff!important}
.authGateHero p{font-size:10px!important;color:#8d8589!important;margin:0 0 18px!important}
.authGateForm label,.authGateRegister label{font-size:8px!important;letter-spacing:.10em!important;color:#aaa1a5!important;text-transform:uppercase}
.authGateForm input,.authGateRegister input{min-height:44px!important;margin-top:6px!important;border:1px solid #38282d!important;border-radius:6px!important;background:#080607!important;color:#fff!important;padding:10px 12px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.01)}
.authGateForm input:focus,.authGateRegister input:focus{outline:none!important;border-color:#e21b29!important;box-shadow:0 0 0 3px rgba(var(--dv-red-rgb),.10)!important}
.authGatePrimary{min-height:44px!important;border:1px solid #f12b39!important;border-radius:6px!important;background:linear-gradient(180deg,#e51b2a,#92040e)!important;color:#fff!important;font-weight:1000!important;letter-spacing:.09em!important;box-shadow:0 10px 24px rgba(var(--dv-red-rgb),.18)!important}
.authGateSecondary{min-height:40px!important;border-color:#34272b!important;background:#090708!important;color:#b0a8ac!important;border-radius:6px!important}
.authGateStatus{color:#827a7e!important}

/* ---------- Generic modal platform shell ---------- */
.overlayBase:not(#setupOverlay):not(#authGate){background:rgba(2,2,2,.91)!important;backdrop-filter:blur(10px)!important}
.settingsCard,.statsCard,.miniGameCard,.dartEditCard,.callerUltraCard,.challengeAbortCard{
  border-color:#39252b!important;background:
    linear-gradient(180deg,rgba(17,12,14,.98),rgba(6,5,5,.99))!important;
  box-shadow:0 34px 110px rgba(0,0,0,.72),0 0 40px rgba(var(--dv-red-rgb),.06)!important;
}
.settingsCard:before,.statsCard:before,.miniGameCard:before{
  content:"";display:block;position:sticky;top:0;height:2px;margin:-1px 8% 10px;z-index:8;background:linear-gradient(90deg,transparent,#c80c18 18%,#ff3341 50%,#c80c18 82%,transparent);box-shadow:0 0 16px rgba(var(--dv-red-rgb),.5)
}

/* ---------- Game selection & configuration ---------- */
#setupOverlay:not(.homeMode){padding:12px!important;background:rgba(2,2,2,.94)!important;backdrop-filter:blur(9px)!important}
#setupOverlay:not(.homeMode) .startCard{
  width:min(1460px,calc(98 * var(--dp-vw)))!important;height:min(920px,calc(97 * var(--dp-dvh)))!important;max-width:none!important;max-height:none!important;padding:16px 18px!important;border:1px solid #39252b!important;border-radius:10px!important;
  background:linear-gradient(180deg,#100b0d,#050404)!important;box-shadow:0 34px 110px rgba(0,0,0,.74),0 0 38px rgba(var(--dv-red-rgb),.06)!important;
}
#setupOverlay:not(.homeMode) .startHead{padding:4px 2px 12px!important;border-bottom:1px solid #2c1d21!important}
#setupOverlay:not(.homeMode) .startHead h2{font-size:22px!important;letter-spacing:.035em!important;color:#f4f1f2!important}
#setupOverlay:not(.homeMode) .startHead p{color:#827a7e!important}
#setupOverlay .gameLibraryTabs{padding:4px!important;border:1px solid #2e2024!important;border-radius:7px!important;background:#080607!important}
#setupOverlay .gameLibraryTab{border:0!important;border-radius:5px!important;background:transparent!important;color:#92898e!important}
#setupOverlay .gameLibraryTab.active{background:linear-gradient(180deg,rgba(var(--dv-red-rgb),.24),rgba(var(--dv-red-rgb),.10))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(var(--dv-red-rgb),.42)!important}
#setupOverlay .gameLibrarySection{border-top-color:#26191d!important}
#setupOverlay .gameLibraryHeading{color:#c8c2c5!important}.gameLibraryHeading:before{background:#e51a29!important;box-shadow:0 0 12px rgba(var(--dv-red-rgb),.55)!important}
#setupOverlay .gameType{
  border:1px solid #312126!important;border-radius:8px!important;background:linear-gradient(145deg,#100d0e,#070506)!important;box-shadow:none!important;
}
#setupOverlay .gameType:hover{border-color:rgba(var(--dv-red-rgb),.58)!important;background:linear-gradient(145deg,rgba(var(--dv-red-rgb),.10),#080607)!important;transform:translateY(-1px)}
#setupOverlay .gameType.active{border-color:#e21b29!important;background:linear-gradient(145deg,rgba(var(--dv-red-rgb),.16),#080607)!important;box-shadow:inset 3px 0 #ee2936!important}
#setupOverlay .gameType strong{color:#f0edef!important;letter-spacing:.02em}
#setupOverlay .gameType span{color:#81797d!important}
#setupOverlay .gameInfoBtn{border-color:#3a292e!important;background:#080607!important;color:#a49ba0!important}
.gameConfigTop{border-bottom:1px solid #291b1f!important}.gameConfigBack{border-color:#39272c!important;background:#090708!important;color:#c4bdc0!important}.gameConfigName{color:#f0edef!important}
.dvSetupCard,.x01FavoriteBar,.dvFavoriteBar{border-color:#322126!important;background:linear-gradient(180deg,#0e0b0c,#070506)!important}
.dvSetupCardHead .dvSetupStep{background:linear-gradient(180deg,#e51a29,#85030b)!important;color:#fff!important;border-color:#ef2b38!important}
.dvSetupCardHead strong,.dvSubChoiceTitle,.x01SubTitle{color:#f1edef!important}
.dvSegment button{border-color:#34252a!important;background:#090708!important;color:#a79fa3!important}.dvSegment button.active{border-color:#ee2634!important;background:rgba(var(--dv-red-rgb),.16)!important;color:#fff!important;box-shadow:inset 0 -2px #ed2432!important}
.dvNativeControl,.field input,.field select{border-color:#34262a!important;background:#080607!important;color:#e8e5e6!important}
.startActions .primary,#startGameBtn{background:linear-gradient(180deg,#ea1b2a,#93040e)!important;border-color:#ef2b38!important;color:#fff!important;box-shadow:0 10px 22px rgba(var(--dv-red-rgb),.16)!important}

/* ---------- Settings / user & admin ---------- */
.settingsCard{width:min(1480px,calc(97 * var(--dp-vw)))!important;max-height:calc(96 * var(--dp-dvh))!important;padding:16px 18px 18px!important;border-radius:10px!important}
.settingsHead{position:sticky;top:-16px;z-index:10;margin:-16px -18px 12px!important;padding:14px 18px!important;background:linear-gradient(180deg,rgba(14,10,11,.99),rgba(8,6,7,.98))!important;border-bottom:1px solid #312126!important}
.settingsHead h2{font-size:23px!important;letter-spacing:.045em!important;color:#fff!important}.settingsHead h2:before{content:"DARTVISION · ";color:#e42a37;font-size:11px;letter-spacing:.15em;vertical-align:4px}
.settingsModeBtn,.closeBtn{border-color:#37272c!important;background:#090708!important;color:#aaa2a6!important}.settingsModeBtn.active{border-color:#e21b29!important;background:rgba(var(--dv-red-rgb),.16)!important;color:#fff!important}
.settingsGrid{gap:10px!important}.settingsSection{border-color:#302126!important;border-radius:8px!important;background:linear-gradient(180deg,#0d0a0b,#070506)!important}.settingsSection:hover{border-color:#402a30!important}
.settingsSection h3{color:#d8d2d5!important;letter-spacing:.13em!important}.settingsSection h3:before{content:"";display:inline-block;width:14px;height:2px;margin-right:7px;vertical-align:3px;background:#e31b29;box-shadow:0 0 8px rgba(var(--dv-red-rgb),.45)}
.settingsAreaBanner{border-color:#39272d!important;background:linear-gradient(90deg,rgba(var(--dv-red-rgb),.10),#0a0809 50%)!important}
.settingsActions button{border-color:#39292e!important;background:#090708!important}.settingsActions .primary,#saveAllSettingsBtn{background:linear-gradient(180deg,#e91b2a,#92040e)!important;border-color:#ef2a37!important;color:#fff!important}
.scoreboardPreviewPanel{border-color:#38272c!important;background:#070506!important}.scoreboardPreviewHead{border-bottom-color:#2c1e22!important}.scoreboardPreviewHead span{color:#ee3441!important}
.checkLine{border-color:#2e2024!important;background:#090708!important}.checkLine:has(input:checked){border-color:rgba(var(--dv-red-rgb),.48)!important;background:rgba(var(--dv-red-rgb),.07)!important}

/* ---------- Statistics ---------- */
.statsCard{width:min(1500px,calc(98 * var(--dp-vw)))!important;max-height:calc(96 * var(--dp-dvh))!important;border-radius:10px!important;overflow:hidden!important}
.statsHeader{border-bottom:1px solid #2f2024!important;background:linear-gradient(180deg,#100c0d,#080607)!important}
.statsTitleRow{padding-top:4px!important}.statsBrand{display:flex!important;align-items:center!important;gap:11px!important}.statsBrandIcon{width:42px;height:42px;filter:drop-shadow(0 0 11px rgba(var(--dv-red-rgb),.25))}.statsBrand h2{font-size:20px!important;letter-spacing:.08em!important;color:#f4f1f2!important}.statsBrand h2:first-letter{color:#e42b37}.statsBrand small{color:#837b7f!important}
.statsClose{border-color:#39272d!important;background:#090708!important;color:#c1b9bd!important}
.statsTabs{border-bottom-color:#291b1f!important}.statsTab{color:#9b9297!important}.statsTab.active{color:#fff!important;background:rgba(var(--dv-red-rgb),.10)!important;border-color:#e21b29!important;box-shadow:inset 0 -2px #e21b29!important}
.statsModeChip{border-color:#33242a!important;background:#090708!important;color:#9b9297!important}.statsModeChip.active{border-color:#e21b29!important;background:rgba(var(--dv-red-rgb),.13)!important;color:#fff!important}
.statsToolbar{border-color:#2c1e22!important;background:#080607!important}.statsBody{background:#050404!important}.statsSectionTitle{color:#f1edef!important}.statsSectionTitle:before{content:"";display:inline-block;width:18px;height:2px;margin-right:8px;vertical-align:4px;background:#e21b29}
.statsPanel,.statsTotal,.genericStatCard,.matchCard,.leaderboardRow{border-color:#302126!important;background:linear-gradient(180deg,#0d0a0b,#070506)!important}

/* ---------- Mini games / training ---------- */
.miniGameCard{width:min(1500px,calc(97 * var(--dp-vw)))!important;max-height:calc(96 * var(--dp-dvh))!important;border-radius:10px!important;padding:16px!important}
.miniGameHeader{padding-bottom:11px!important;border-bottom:1px solid #2e2024!important}.miniGameHeader h2{font-size:25px!important;color:#f2eef0!important;letter-spacing:.04em}.miniGameHeader h2:before{content:"DARTVISION · ";color:#e32a37;font-size:10px;letter-spacing:.15em;vertical-align:5px}.miniGameHeader p{color:#857d81!important}
.miniActions button{border-color:#38282d!important;background:#090708!important}.miniActions .primary{background:linear-gradient(180deg,#e71a29,#8e030c)!important;border-color:#ed2a37!important;color:#fff!important}
.miniBoardPane,.miniCard{border-color:#302126!important;background:linear-gradient(180deg,#0d0a0b,#070506)!important}.miniPill{border-color:#34262a!important;background:#080607!important;color:#bcb5b8!important}.miniCard h3{color:#cfc8cc!important}.miniCurrent{color:#f2eef0!important}

/* ---------- Tournament ---------- */
.tournamentOverlay{background:rgba(2,2,2,.95)!important;backdrop-filter:blur(10px)!important}.tournamentCard,.tournamentShell{border-color:#39262c!important;background:linear-gradient(180deg,#100c0d,#050404)!important;box-shadow:0 36px 110px rgba(0,0,0,.74)!important}
.tournamentHeader,.tournamentTop{border-bottom-color:#302126!important}.tournamentTile,.tournamentMatchCard,.tournamentOpenTile{border-color:#302126!important;background:linear-gradient(180deg,#0d0a0b,#070506)!important}.tournamentTile:hover,.tournamentOpenTile:hover{border-color:#e21b29!important}.tournamentAccent,.tournamentPrimary{background:linear-gradient(180deg,#e61a29,#8d030c)!important;color:#fff!important;border-color:#ed2936!important}

/* ---------- Caller / correction / tip ---------- */
.dartEditCard{border-radius:10px!important}.dartBoardStage{border-color:#39272d!important;background:#050404!important;box-shadow:0 0 0 1px rgba(var(--dv-red-rgb),.04),0 18px 44px rgba(0,0,0,.34)!important}.dartEditActions .primary{background:linear-gradient(180deg,#e81a29,#90030d)!important;border-color:#ed2936!important;color:#fff!important}
.callerUltraCard{border-radius:10px!important}.callerUltraHead{border-bottom-color:#302126!important}.callerStudioKicker{color:#e42b37!important}.callerUltraTabs button.active{border-color:#e31b29!important;background:rgba(var(--dv-red-rgb),.12)!important;color:#fff!important}.callerUltraSave .primary{background:linear-gradient(180deg,#e81a29,#90030d)!important;color:#fff!important}
.detectorTipCard{border-radius:10px!important}

/* ---------- Mobile / tablet ---------- */
@media(max-width:900px){
  .settingsCard,.statsCard,.miniGameCard{width:calc(100 * var(--dp-vw))!important;height:calc(100 * var(--dp-dvh))!important;max-height:none!important;border:0!important;border-radius:0!important}
  #setupOverlay:not(.homeMode){padding:0!important}#setupOverlay:not(.homeMode) .startCard{width:calc(100 * var(--dp-vw))!important;height:calc(100 * var(--dp-dvh))!important;border:0!important;border-radius:0!important}
  .settingsGrid{grid-template-columns:1fr!important}.settingsSection.full{grid-column:1!important}.scoreboardCustomizerLayout{grid-template-columns:1fr!important}.scoreboardPreviewPanel{position:relative!important;top:auto!important}
}
@media(max-width:620px){
  .authGateCard{padding:20px 16px 22px!important;border-radius:8px!important}.authGateBrandImage{max-height:115px!important}
  .statsTabs{overflow-x:auto!important}.statsTab{white-space:nowrap!important}.statsToolbar{grid-template-columns:1fr!important}.statsModeRow{overflow-x:auto!important;flex-wrap:nowrap!important}
  .miniGameHeader{flex-direction:column!important}.miniActions{width:100%!important}.miniActions button{flex:1 1 auto!important}
}
