/* 首页框架独立于原有分析模块样式。 */
:root { --shell-purple: #673acb; --shell-text: #2d2540; }
body { background: #eeedf1; }
.stage { padding: 0; }
.phone { width: 750px; min-height: 100svh; padding-bottom: calc(78px + env(safe-area-inset-bottom)); border: 0; border-radius: 0; background: #f5f2fc; }
.appbar { padding: 22px 24px 12px; background: #663acc; color: #fff; font-size: 18px; letter-spacing: 1px; }
.home { padding: 0; flex: none; }
.home-content { padding: 24px 22px 12px; }
.daily-advice { display: block; width: 100%; min-height: 54px; padding: 15px 20px; border: 0; border-radius: 28px; background: linear-gradient(100deg, #6131ce, #9361d1); box-shadow: 0 7px 18px #673acb26; color: #fff; font-size: 17px; font-weight: 600; letter-spacing: 1px; }
.home .grid { margin-top: 24px; gap: 16px; }
.home .tile { display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-content: center; align-items: center; gap: 7px 8px; min-height: 116px; padding: 20px; border: 1px solid #eae4f5; border-radius: 16px; background: #fff; color: var(--shell-text); box-shadow: 0 4px 14px #51377608; }
.home .tile strong { grid-row: 1; grid-column: 1; font-size: 19px; }
.home .tile small { grid-row: 2; grid-column: 1; line-height: 1.6; color: #837991; }
.home .symbol { grid-column: 2; grid-row: 1 / 3; width: 42px; height: 48px; background: transparent; color: #8b62ca; font-size: 33px; border-radius: 0; }
.home .tile:hover { border-color: #baa2e6; background: #fdfbff; }
.home .tile:active,.daily-advice:active { transform: translateY(1px); }
.main-nav { position: fixed; z-index: 20; bottom: 0; left: 50%; transform: translateX(-50%); display: flex; width: min(100%, 750px); padding: 9px 12px calc(9px + env(safe-area-inset-bottom)); border-top: 1px solid #eee9f4; background: #fffffffa; }
.main-nav button { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; min-height: 48px; padding: 3px; border: 0; background: transparent; color: #929097; font-size: 13px; }
.main-nav svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.main-nav button[aria-current="page"] { color: var(--shell-purple); font-weight: 600; }
.bottom { margin-top: auto; background: transparent; border: 0; padding: 16px 22px; }
.shell-page { flex: 1; }
.main-nav button:focus-visible,.daily-advice:focus-visible,.home .tile:focus-visible { outline: 2px solid #673acb; outline-offset: 3px; }
@media (max-width: 480px) {
  .appbar { padding: 18px 20px 10px; font-size: 16px; }
  .home-content { padding: 20px 16px 12px; }
  .home .grid { gap: 12px; margin-top: 22px; }
  .home .tile { min-height: 112px; padding: 16px 12px; grid-template-columns: minmax(0, 1fr) 28px; gap: 6px; }
  .home .tile strong { font-size: 16px; }
  .home .tile small { font-size: 11px; }
  .home .symbol { width: 28px; font-size: 27px; }
}
