/* 新 Demo 首页：封面与队伍选择共用一个视口，战斗页不受影响。 */
.new-home {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: minmax(200px, 1fr) auto;
  color: #e7eee9;
  background: #111a20;
}
.new-home .hero-cover {
  position: relative;
  min-height: 200px;
  overflow: hidden;
  isolation: isolate;
}
.new-home .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 37%;
  z-index: -2;
}
.new-home .hero-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #071219b0, transparent 78%), linear-gradient(0deg, #0e1b23d9, transparent 56%);
  z-index: -1;
}
.new-home .hero-content {
  position: absolute;
  left: max(6vw, 24px);
  bottom: clamp(24px, 7vh, 75px);
  max-width: min(650px, 88vw);
  text-align: left;
  text-shadow: 0 2px 14px #000d;
}
.new-home .hero-content .eyebrow {
  color: #8dd5c7;
  font-size: clamp(11px, 1.2vw, 15px);
  letter-spacing: .22em;
  font-weight: 700;
}
.new-home .hero-title {
  margin: 8px 0;
  color: #effff6;
  font-family: Georgia, 'SimSun', serif;
  font-size: clamp(44px, 7vw, 88px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.08;
}
.new-home .hero-tagline {
  margin: 0;
  color: #dcece6;
  font-size: clamp(13px, 1.5vw, 19px);
  letter-spacing: .08em;
}
.new-home .home-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px 20px 10px;
  text-align: center;
  background: linear-gradient(#111d24, #0e181e);
  border-top: 1px solid #42716e7a;
}
.new-home .setup-title {
  margin: 0;
  color: #c6e5d8;
  font-size: 16px;
  letter-spacing: .2em;
}
.new-home .setup-hint { margin:0; color:#a9c9c2; font-size:11px; line-height:1.2; }
.new-home .rookie-tag { margin-left:5px; padding:1px 3px; border-radius:3px; background:#c8a668; color:#152228; font-size:9px; white-space:nowrap; }
.new-home .team-select {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: min(100%, 940px);
}
.new-home .team-card {
  width: auto;
  min-width: 0;
  min-height: 66px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-rows: 1fr 1fr;
  align-items: center;
  column-gap: 7px;
  padding: 6px 9px;
  border: 1px solid #54706e;
  border-radius: 5px;
  background: #172a30;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
}
.new-home .team-card.selected {
  border-color: #91d6bc;
  background: #294b48;
  box-shadow: inset 0 0 0 1px #91d6bc70;
}
.new-home .team-card:hover { border-color: #9dd7cc; }
.new-home .team-card:focus-visible,
.new-home button:focus-visible,
.new-home a:focus-visible,
.new-home input:focus-visible { outline: 2px solid #c6e5d8; outline-offset: 2px; }
.new-home .team-card::before { display: none; }
.new-home .team-art {
  grid-row: 1 / 3;
  width: 48px;
  height: 48px;
  overflow: hidden;
}
.new-home .team-art svg { width: 100%; height: 100%; }
.new-home .team-name {
  margin: 0;
  color: #f0f8ec;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.new-home .team-desc {
  color: #abc6c3;
  font-size: 10px;
  line-height: 1.2;
}
.new-home .home-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  width: min(100%, 420px);
}
.new-home .home-actions .btn {
  flex: 1;
  min-width: 0;
  min-height: 44px;
  padding: 8px 14px;
  font-size: 14px;
}
.new-home .home-actions .primary {
  background: linear-gradient(#35716b, #22504d);
  border-color: #8bcac1;
  color: #effff7;
}
.new-home .home-actions .btn:disabled { opacity: .46; }
.new-home .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  margin: 0;
  color: #b1c8c7;
  font-size: 12px;
}
.new-home .nav-links a,
.new-home .nav-links button {
  padding: 0;
  border: 0;
  background: none;
  color: #b1c8c7;
  text-decoration: none;
  font: inherit;
  cursor: pointer;
}
.new-home .nav-links a:hover,
.new-home .nav-links button:hover { color: #effff7; }
.new-home .credit { margin: 0; color: #728f8b; font-size: 10px; }
@media (max-width: 650px) {
  .new-home .hero-content { left: 20px; bottom: 24px; max-width: 90vw; }
  .new-home .hero-title { font-size: clamp(38px, 10vw, 54px); }
  .new-home .hero-tagline { font-size: 12px; }
  .new-home .home-section { gap: 8px; padding: 10px 12px 8px; }
  .new-home .setup-title { font-size: 14px; }
  .new-home .team-select { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .new-home .team-card { display: block; min-height: 49px; padding: 6px 8px; text-align: center; }
  .new-home .team-art { display: none; }
  .new-home .team-name { font-size: 12px; line-height: 1.2; }
  .new-home .team-desc { margin-top: 2px; font-size: 9px; line-height: 1.2; }
  .new-home .home-actions .btn { min-height: 42px; font-size: 12px; }
  .new-home .nav-links { gap: 7px 13px; font-size: 11px; }
}
@media (max-height: 700px) and (max-width: 650px) {
  .new-home .hero-cover { min-height: 160px; }
  .new-home .home-section { gap: 6px; padding-top: 7px; padding-bottom: 6px; }
  .new-home .team-card { min-height: 44px; padding: 4px 6px; }
  .new-home .hero-content { bottom: 18px; }
}

/* Update log sits in the cover link row, styled like its neighbours. */
.new-home .nav-links .cl-btn{min-height:0;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;color:inherit;gap:4px}
.new-home .nav-links .cl-btn small{display:none}
.new-home .nav-links .cl-btn.unseen:after{top:-3px;right:-9px;width:8px;height:8px}
.new-home .nav-links .cl-btn:hover{color:#effff7}
