/* Mobile Daily stage: one scrollport-sized challenge per snap position. */
.daily #dailyFeed.snap{
  height:100%!important;
  block-size:100%!important;
  scroll-snap-type:y mandatory!important;
  scroll-padding:0!important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}
.daily #dailyFeed>.full{
  box-sizing:border-box;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}

@media(max-width:480px){
  .daily #dailyFeed>.full{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .challenge-card .opt{
    min-height:52px!important;
    padding:9px 12px!important;
    font-size:14px!important;
    line-height:1.15!important;
    touch-action:manipulation;
  }
}

.challenge-card .opt:not(:disabled){
  cursor:pointer;
  pointer-events:auto;
  position:relative;
  z-index:3;
  -webkit-tap-highlight-color:rgba(157,127,52,.18);
}
.challenge-card .opt:not(:disabled):active,
.challenge-card .opt.tap-confirmed{
  transform:scale(.985);
}

/* Explore uses a sheet with its own scrollport. Keep the heading stationary
   and make every challenge exactly one available scrollport high. */
.sheet:has(#sheet>.vertical-batch){
  height:92dvh;
  max-height:92dvh;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
}
.sheet:has(#sheet>.vertical-batch)>.handle{flex:0 0 auto}
#sheet:has(>.vertical-batch){
  position:relative;
  min-height:0;
  flex:1 1 auto;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
#sheet:has(>.vertical-batch)>.sheet-close{position:absolute;top:0;right:0;margin:0}
#sheet:has(>.vertical-batch)>.eye{padding-right:54px}
#sheet:has(>.vertical-batch)>h2{padding-right:54px;margin:6px 0 12px}
#sheet>.vertical-batch{
  min-height:0;
  height:100%!important;
  max-height:none!important;
  display:block!important;
  gap:0!important;
  overflow-y:auto;
  scroll-snap-type:y mandatory!important;
  scroll-padding:0!important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}
#sheet>.vertical-batch>.slide{
  box-sizing:border-box;
  width:100%;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  margin:0!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  overflow:hidden!important;
}
/* The feed owns vertical gestures. A nested card scrollport prevented users
   from swiping back to completed Explore challenges on mobile. */
#sheet>.vertical-batch>.challenge-card{
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  scrollbar-width:none;
}
#sheet>.vertical-batch>.challenge-card>.primary,
#sheet>.vertical-batch>.challenge-card>.skip{
  flex:0 0 auto;
}
.explore-review-card{justify-content:flex-start!important;padding-top:18px!important}
.explore-review-card .finish-mark{margin:4px auto 8px}
.explore-review-list{display:grid;gap:5px;margin:7px 0;min-width:0;width:100%;max-width:100%;overflow:hidden}
.explore-review-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:6px;width:100%;max-width:100%;min-width:0;overflow:hidden;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.explore-review-row>span{display:block;min-width:0;max-width:100%;overflow:hidden}.explore-review-row b,.explore-review-row small{display:block;min-width:0;max-width:100%}.explore-review-row b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-review-row small{margin-top:2px;font-size:9px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.explore-review-row .mini{width:auto;max-width:100%;min-width:76px;padding:7px 5px;font-size:9px;white-space:nowrap}.explore-review-row .explore-boost.on{background:var(--lime);color:var(--ink)}
.explore-review-card .boost-intro{margin:7px 0;padding:8px}.explore-review-card .boost-intro b,.explore-review-card .boost-intro span{font-size:9px}
#sheet:has(>.vertical-batch)>.swipe{flex:0 0 auto;margin:8px 0 0}

@media(max-width:380px), (max-height:640px){
  .daily #dailyFeed>.full{
    padding-top:64px!important;
    padding-bottom:61px!important;
  }
  .daily .challenge-heading{margin-bottom:3px!important;font-size:10px}
  .daily .challenge-card{padding:8px!important;border-radius:18px!important}
  .daily .challenge-card>.q{font-size:13px!important;line-height:1.08!important;margin:3px 0!important}
  .daily .challenge-card .knowledge-meta{margin:1px 0!important;gap:3px!important}
  .daily .challenge-card .knowledge-chip{padding:1px 4px!important;font-size:8px!important}
  .daily .knowledge-timer{min-height:29px!important;margin:2px 0!important;padding:3px 5px!important}
  .daily .timer-ring{width:29px!important;height:29px!important;flex-basis:29px!important;font-size:9px!important}
  .daily .timer-copy b{font-size:10px!important}.daily .timer-copy small{font-size:8px!important}
  .daily .challenge-card .opts{gap:3px!important;margin:2px 0!important}
  .daily .challenge-card .opt{min-height:44px!important;padding:6px 8px!important;font-size:12px!important;line-height:1.08!important}
  .daily .rating-potential{margin:2px 0!important;padding:3px 5px!important;font-size:8px!important;line-height:1.08!important}
  .daily .challenge-card>.primary{min-height:31px!important;margin-top:auto!important;padding:4px 7px!important;font-size:11px!important}
  .daily .challenge-card>.skip{min-height:27px!important;margin-top:1px!important;padding:3px 7px!important;font-size:10px!important}
  .daily .swipe{display:none!important}
  .daily .talent-hero{grid-template-columns:40px minmax(0,1fr) 34px!important;gap:6px!important;padding:4px!important;margin:1px 0 2px!important}
  .daily .talent-player-photo{width:40px!important;height:40px!important;font-size:13px!important}
  .daily .talent-club-crest{width:34px!important;height:34px!important;font-size:10px!important}
  .daily .talent-identity b{font-size:13px!important}.daily .talent-identity span,.daily .talent-identity small{font-size:8px!important}
  .daily .talent-evidence{margin:2px 0!important;padding:4px 6px!important;font-size:9px!important;line-height:1.15!important}
  .daily .talent-profile-link{margin:0 0 2px!important;padding:3px 5px!important;font-size:8px!important}
  .sheet:has(#sheet>.vertical-batch){height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);padding:15px 10px 10px}
  .sheet:has(#sheet>.vertical-batch)>.handle{margin:-6px auto 8px}
  #sheet:has(>.vertical-batch)>h2{font-size:22px;margin:3px 0 7px}
  #sheet:has(>.vertical-batch)>.swipe{display:none}
  #sheet>.vertical-batch>.challenge-card{padding:8px!important;border-radius:18px!important}
  #sheet>.vertical-batch>.challenge-card>h2{font-size:14px!important;line-height:1.08!important;min-height:0!important;margin:3px 0!important}
  #sheet>.vertical-batch .knowledge-meta{margin:1px 0!important;gap:3px!important}
  #sheet>.vertical-batch .knowledge-chip{padding:1px 4px!important;font-size:8px!important}
  #sheet>.vertical-batch .knowledge-context,#sheet>.vertical-batch .detail{margin:2px 0!important;padding:4px 6px!important;font-size:9px!important;line-height:1.15!important}
  #sheet>.vertical-batch .opts{gap:3px!important;margin:2px 0!important}
  #sheet>.vertical-batch .opt{min-height:44px!important;padding:6px 8px!important;font-size:12px!important;line-height:1.08!important}
  #sheet>.vertical-batch .rating-potential{margin:2px 0!important;padding:3px 5px!important;font-size:8px!important;line-height:1.08!important}
  #sheet>.vertical-batch .primary{min-height:31px!important;margin-top:auto!important;padding:4px 7px!important;font-size:11px!important}
  #sheet>.vertical-batch .skip{min-height:27px!important;margin-top:1px!important;padding:3px 7px!important;font-size:10px!important}
}
