[hidden] { display: none !important; }
/* 颜色全部来自 tokens.css（须先加载）。同步失败 banner = 警告语义；启动屏 = 冷白底 + 科技蓝标志 */
.sync-notice { position: fixed; z-index: 9999; top: max(8px, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); width: min(400px, calc(100% - 24px)); padding: 14px; background: var(--warn-weak); color: var(--warn-ink); border: 1px solid var(--warn-line); border-radius: 16px; box-shadow: var(--sh-pop); font: 15px/1.6 system-ui; }
.sync-notice button { border: 1px solid var(--warn-line-strong); border-radius: 10px; background: var(--surface); color: inherit; padding: 10px 16px; min-height: 44px; margin: 10px 8px 0 0; font: inherit; cursor: pointer; }
.sync-notice button:focus-visible { outline: 3px solid var(--pri-ring); outline-offset: 2px; }
.boot-screen { min-height: 100dvh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; background: var(--bg); color: var(--text); font-family: system-ui; }
.boot-screen h1 { font-size: 28px; margin: 24px 0 0; }.boot-screen p { color: var(--muted); }.boot-mark { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 24px; background: var(--brand); color: var(--on-brand); font-size: 30px; box-shadow: var(--sh-pri-lg); }
