/* 首页独立视觉层；不影响图表、后台或账号偏好。 */
body.home-page {
  --bg: #f2f2f8;
  --surface: #ffffff;
  --raised: #f5f4fa;
  --line: #dedeea;
  --line-soft: #eae9f2;
  --fg: #292b3b;
  --fg-dim: #565a70;
  --mut: #6b6f83;
  --acc: #7059d6;
  --acc-soft: #eee9fc;
  --up: #287c61;
  --dn: #ba404c;
  --warn: #92651c;
  --r: 22px;
  --r-s: 12px;
  color-scheme: light;
  background: radial-gradient(ellipse 760px 480px at 5% 0%, #dcd5f3 0%, transparent 75%),
    radial-gradient(ellipse 600px 480px at 100% 25%, #e7e6f5 0%, transparent 80%), var(--bg);
  background-attachment: fixed;
  color: var(--fg);
}
.home-page .wrap { max-width: 1180px !important; padding: 22px 28px 36px !important; }
.home-page .head {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px 28px;
  padding: 18px 24px; margin-bottom: 38px !important;
  background: #ffffffc9; border: 1px solid #ffffff; border-radius: 20px;
  box-shadow: 0 4px 28px #37305104;
}
.home-page .head .mark { margin: 0; gap: 12px !important; }
.home-page .brand-logo { width: 44px; height: 44px; filter: none; }
.home-page .head h1 { font-size: 21px; letter-spacing: -.5px; }
.home-page .product-name { color: var(--mut); font-size: 11px; letter-spacing: .1em; }
.home-page .head .sub { margin: 0 !important; font-size: 12px !important; }
.workspace-label { margin-left: auto; color: var(--acc); font-size: 11px; letter-spacing: .04em; padding: 7px 12px; border: 1px solid #e7e0f8; border-radius: 30px; background: #f6f2ff; }
.home-page .card { background: #ffffffd9; border: 1px solid #fff; box-shadow: 0 12px 34px #38314d08; }
.home-page #home > .dashboard { padding: 0; background: transparent; border: 0; box-shadow: none; }
.home-page #hi { font-size: 27px; letter-spacing: -.7px; }
.home-page .chip { color: #6950b7; border-color: #ded5f5; background: #eee8fb; border-radius: 30px; font-size: 11px; }
.home-page .stat { gap: 16px !important; margin: 24px 0 34px; }
.home-page .stat > div { padding: 23px 24px; min-width: 0; background: #ffffffed; border: 1px solid #fff; border-radius: 20px; box-shadow: 0 10px 25px #39324f08; }
.home-page .stat div span { margin-bottom: 13px; color: var(--mut); }
.home-page .stat div b { font-size: 29px !important; font-family: var(--font); font-weight: 650; letter-spacing: -1px; overflow-wrap: anywhere; }
.home-page .stat > div:first-child b { color: var(--acc); }
.section-kicker { display: block; color: var(--mut); font-size: 11px; letter-spacing: .07em; margin-bottom: 8px; }
.path-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.path-heading h2 { font-size: 22px; }
.home-page .path-intro { font-size: 12px; line-height: 1.8; margin: 7px 0 0; }
.path-count { color: var(--mut); font-size: 12px; white-space: nowrap; }
.home-page .unlock-info { margin-top: 18px; padding: 12px 17px; background: #ffffff80; border: 1px solid #e4e1ee; border-radius: 12px; }
.unlock-info summary { cursor: pointer; color: var(--fg-dim); }
.home-page .learning-path { margin-top: 18px; gap: 12px; }
.home-page .step { grid-template-columns: 48px minmax(0,1fr) auto; gap: 20px; padding: 22px 26px; background: #ffffffdc; border: 1px solid #fff; border-radius: 18px; box-shadow: 0 5px 18px #36304804; }
.home-page .step-number { display: grid; place-items: center; width: 44px; height: 44px; background: #f3f1fa; color: #807495; border: 1px solid #e9e4f4; border-radius: 14px; font: 500 15px var(--num); }
.home-page .step h3 { font-size: 16px; margin-bottom: 5px; }
.home-page .step p { font-size: 12px; line-height: 1.8; }
.home-page .step.focus { background: linear-gradient(110deg,#f2ecff,#fff 62%); border-color: #c2b2ef; box-shadow: 0 8px 24px #7059d609; }
.home-page .step.focus .step-number { color: #fff; background: #7d65d8; border-color: #7d65d8; }
.home-page .step progress { display: block; appearance: none; border: 0; background: #e7e1f3; border-radius: 8px; overflow: hidden; accent-color: var(--acc); height: 5px; margin: 12px 0 3px; }
.home-page progress::-webkit-progress-bar { background: #e7e1f3; border-radius: 8px; }
.home-page progress::-webkit-progress-value { background: #7b61d7; border-radius: 8px; }
.home-page progress::-moz-progress-bar { background: #7b61d7; border-radius: 8px; }
.home-page button { color: var(--fg-dim); background: #f8f7fb; border: 1px solid #dedbe9; box-shadow: 0 2px 4px #32264903; min-height: 42px; }
.home-page button:hover:not(:disabled) { color: var(--acc); background: #eee8fb; border-color: #cbbdec; }
.home-page button.p { color: #fff; background: #7660d6; border-color: #7660d6; box-shadow: 0 5px 14px #7059d625; }
.home-page button.p:hover:not(:disabled) { color: #fff; background: #634bbb; border-color: #634bbb; }
.home-page button:disabled { opacity: 1; color: #848195; background: #eeedf3; border-color: #e2dfeb; box-shadow: none; }
.home-page button:focus-visible, .home-page input:focus-visible, .home-page summary:focus-visible, .home-page a:focus-visible { outline: 3px solid #9c83e5; outline-offset: 3px; }
.home-page .step button { min-width: 150px; max-width: 260px; line-height: 1.5; padding: 10px 16px; }
.home-page .account-actions { margin-top: 20px; padding-top: 18px; border-top: 1px solid #dedbe8; }
.home-page .account-actions button { background: transparent; font-size: 12px; min-height: 36px; }
.home-page #auth { max-width: 456px; padding: 34px; margin: 65px auto 75px; }
.home-page #auth h3 { font-size: 24px; margin-bottom: 12px; letter-spacing: -.5px; }
.home-page #auth .mut { font-size: 12px; line-height: 1.9; }
.home-page label { color: var(--fg-dim); }
.home-page input, .home-page select { color: var(--fg); background: #f7f6fb; border-color: #dedbe8; }
.home-page input::placeholder { color: #7e7e92; }
.home-page input:focus { border-color: #9b84da; box-shadow: 0 0 0 3px #7059d610; }
.home-page input[type=checkbox] { accent-color: var(--acc); width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; padding: 0; margin-top: 2px; }
.home-page .terms { background: #f5f3fa; border-color: var(--line); }
.home-page .err { color: var(--dn); }
.home-page .err.ok { color: var(--up); }
.home-page .note.w { background: #fff4df; border-color: #e7c996; color: #7d5618; }
.home-page #pwCard { max-width: 540px; margin: 24px auto 0; }
.home-page .foot { margin-top: 30px !important; color: #777488 !important; font-size: 11px; }
@media (max-width: 760px) {
  .home-page .wrap { padding: 14px 18px 30px !important; }
  .home-page .head { padding: 16px 18px; margin-bottom: 28px !important; gap: 12px; }
  .home-page .head .sub { display: none; }
  .home-page .stat { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
  .home-page .stat > div { padding: 19px 20px; }
  .home-page .step { gap: 14px; padding: 20px; grid-template-columns: 44px minmax(0,1fr); }
  .home-page .step button { grid-column: 2; width: 100%; max-width: none; min-width: 0; }
  .home-page #auth { margin: 40px auto; }
}
@media (max-width: 420px) {
  .home-page .wrap { padding: 10px 12px 26px !important; }
  .workspace-label { display: none; }
  .home-page #hi { font-size: 24px; }
  .home-page .stat > div { padding: 18px 16px; }
  .home-page .stat div b { font-size: 26px !important; }
  .home-page .step { padding: 18px 15px; gap: 12px; grid-template-columns: 34px minmax(0,1fr); }
  .home-page .step-number { width: 34px; height: 36px; border-radius: 11px; font-size: 13px; }
  .home-page #auth { padding: 26px 22px; }
}
