/* 主站与计费页共用的轻量视觉氛围层 */
.store-shell[data-atmosphere] { position: relative; isolation: isolate; min-height: 100vh; overflow: hidden; }
.store-shell[data-atmosphere]::before { content: ""; position: fixed; inset: 0; z-index: -3; pointer-events: none; background: radial-gradient(620px 420px at var(--pointer-x, 50%) var(--pointer-y, 28%), rgba(46, 148, 187, .18), transparent 72%); transition: background-position .16s ease-out; }
.store-shell[data-atmosphere]::after { content: ""; position: fixed; inset: 0; z-index: -4; pointer-events: none; background: linear-gradient(160deg, #103a5b 0%, #06192b 72%); }
.site-atmosphere-canvas { position: fixed; inset: 0; z-index: -2; width: 100%; height: 100%; pointer-events: none; opacity: .5; }
.store-nav a.active { color: #e5f9fd; position: relative; }
.store-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -11px; height: 1px; background: #8fe8fb; box-shadow: 0 0 12px rgba(143,232,251,.72); }
@media (max-width: 820px) {
  .store-shell[data-atmosphere]::before { background: radial-gradient(360px 280px at var(--pointer-x, 50%) var(--pointer-y, 18%), rgba(46, 148, 187, .14), transparent 74%); }
  .site-atmosphere-canvas { opacity: .32; }
  .store-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand actions" "nav nav"; height: auto; min-height: 78px; gap: 10px 12px; padding: 13px 0 10px; }
  .store-header .store-brand { grid-area: brand; min-width: 0; }
  .store-header .store-header-actions { grid-area: actions; }
  .store-header .store-nav { grid-area: nav; display: flex; width: 100%; margin: 0; gap: 18px; padding: 3px 0 5px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .store-header .store-nav::-webkit-scrollbar { display: none; }
  .store-header .store-nav a { flex: 0 0 auto; font-size: 11px; white-space: nowrap; }
  .store-header .store-nav a.active::after { bottom: -4px; }
}
html { opacity: 1; transition: opacity .18s ease-out; }
html.site-leaving { opacity: .72; }
@media (prefers-reduced-motion: reduce) { html { transition: none; } .store-shell[data-atmosphere]::before { transition: none; } .site-atmosphere-canvas { display: none; } }
