/* v238 PAD first-screen visual pass
   Goal: keep V4 pages readable on iPad landscape and portrait.
   This file does not change content logic or reward logic. */
:root{
  --v238-bottom-safe: calc(92px + env(safe-area-inset-bottom));
  --v238-shell: 1180px;
}

/* Page chrome: reduce wasted height without shrinking touch targets. */
body.v4-page{
  padding: clamp(10px,1.5vw,16px) clamp(10px,1.8vw,18px) var(--v238-bottom-safe) !important;
}
.v4-shell{ width:min(var(--v238-shell),100%) !important; }
.v4-topbar{
  min-height:64px !important;
  height:auto !important;
  padding:8px 12px !important;
  border-radius:24px !important;
}
.v4-brand-icon{
  width:48px !important;
  height:48px !important;
  border-radius:18px !important;
  flex:0 0 48px !important;
  font-size:26px !important;
}
.v4-brand strong{font-size:20px !important;letter-spacing:-.035em !important;}
.v4-brand small{font-size:12.5px !important;max-width:46vw !important;}
.v4-top-actions .v4-btn{
  min-height:42px !important;
  padding:0 14px !important;
}

/* The top-right “今日任务” link is navigation, not the page's strongest action. */
.v4-top-actions .v4-btn[href="index.html"]{
  background:var(--zhw-soft) !important;
  color:#1d4ed8 !important;
  border:1px solid #dbeafe !important;
  box-shadow:none !important;
}

/* Level-one pages: keep hero, choices and status visible on iPad landscape. */
.v4-module-grid{
  grid-template-columns:minmax(0,1.34fr) minmax(270px,.66fr) !important;
  gap:12px !important;
  margin-top:12px !important;
  align-items:start !important;
}
.v4-home-grid{
  grid-template-columns:minmax(0,1.38fr) minmax(286px,.62fr) !important;
  gap:12px !important;
  margin-top:12px !important;
  align-items:start !important;
}
.v4-panel{
  padding:16px !important;
  border-radius:26px !important;
}
.v4-hero h1{
  font-size:clamp(31px,3.1vw,38px) !important;
  line-height:1.06 !important;
  margin:7px 0 8px !important;
}
.v4-hero p{
  font-size:16.5px !important;
  line-height:1.45 !important;
  max-width:760px !important;
}
.v4-kicker{
  padding:7px 11px !important;
  font-size:13px !important;
}

/* Cards and task rows: strong touch area, less vertical waste. */
.v4-feature-list{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-top:12px !important;
}
.v4-feature{
  min-height:84px !important;
  padding:12px 14px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.v4-feature strong{font-size:17px !important;line-height:1.16 !important;}
.v4-feature span{font-size:12.5px !important;line-height:1.32 !important;margin-top:5px !important;}
.v4-stat-grid{gap:9px !important;margin-top:10px !important;}
.v4-stat{min-height:72px !important;padding:10px 12px !important;}
.v4-stat strong{font-size:25px !important;margin-top:5px !important;}
.v4-quick{gap:8px !important;margin-top:12px !important;}
.v4-quick .v4-btn.primary{
  min-height:54px !important;
  font-size:17px !important;
  flex:1 1 100% !important;
}
.v4-quick .v4-btn:not(.primary){min-height:46px !important;}
.v4-legacy-note{margin-top:10px !important;}
.v4-daily-list .v4-task,
.v4-task{
  min-height:64px !important;
  padding:10px !important;
  gap:10px !important;
}
.v4-task i{
  width:44px !important;
  height:44px !important;
  border-radius:16px !important;
  font-size:23px !important;
}
.v4-task strong{font-size:17px !important;}
.v4-task span{font-size:12.5px !important;line-height:1.28 !important;}
.v4-task-actions button,
.v4-mini-link{
  min-height:40px !important;
  padding:0 12px !important;
}

/* Bottom navigation: clear but not blocking. */
.v4-tabbar{
  min-height:68px !important;
  bottom:10px !important;
  padding:7px !important;
  gap:5px !important;
  border-radius:24px !important;
}
.v4-tabbar a{border-radius:18px !important;}
.v4-tabbar a span{font-size:21px !important;}
.v4-tabbar a b{font-size:11.5px !important;}
.v4-more-menu{bottom:88px !important;}

/* iPad landscape short-height safety: remove decorative excess first. */
@media (min-width:981px) and (max-height:820px){
  body.v4-page{padding-top:10px !important;}
  .v4-topbar{min-height:58px !important;padding:6px 10px !important;border-radius:22px !important;}
  .v4-brand-icon{width:44px !important;height:44px !important;flex-basis:44px !important;font-size:24px !important;}
  .v4-brand strong{font-size:19px !important;}
  .v4-brand small{font-size:12px !important;}
  .v4-panel{padding:14px !important;border-radius:24px !important;}
  .v4-hero h1{font-size:32px !important;margin:6px 0 7px !important;}
  .v4-hero p{font-size:15.5px !important;line-height:1.38 !important;}
  .v4-feature-list{gap:8px !important;margin-top:10px !important;}
  .v4-feature{min-height:72px !important;padding:10px 12px !important;}
  .v4-feature strong{font-size:16px !important;}
  .v4-feature span{font-size:12px !important;}
  .v4-stat{min-height:64px !important;}
  .v4-stat strong{font-size:23px !important;}
  .v4-daily-list .v4-task,.v4-task{min-height:58px !important;padding:8px 10px !important;}
  .v4-task i{width:40px !important;height:40px !important;font-size:21px !important;}
  .v4-task span{display:-webkit-box !important;-webkit-line-clamp:1 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
  .v4-legacy-note,.v4-page-footnote{display:none !important;}
  .v4-tabbar{min-height:64px !important;}
}

/* Portrait: keep natural vertical flow and make cards comfortable. */
@media (max-width:980px){
  .v4-home-grid,.v4-module-grid{grid-template-columns:1fr !important;}
  .v4-feature-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .v4-hero h1{font-size:clamp(29px,6.2vw,36px) !important;}
  .v4-quick .v4-btn.primary{flex:1 1 auto !important;}
}
@media (max-width:640px){
  .v4-feature-list{grid-template-columns:1fr !important;}
  .v4-daily-list .v4-task{grid-template-columns:auto 1fr !important;}
  .v4-task-actions{grid-column:2 !important;justify-content:flex-start !important;}
}
