/* Boot page styles are self-contained: the theme base stylesheets are linked by the shell, but the loading page must render acceptably even before/without them, so this file uses tokens with neutral fallbacks (the one sanctioned fallback site — plugin packages must not do this). */ .boot { height: 100%; display: grid; place-items: center; background: var(--dsw-alias-bg-base, #f9fafb); } .card { display: flex; flex-direction: column; align-items: center; gap: 16px; } .wordmark { font-size: 16px; line-height: 24px; font-weight: 600; letter-spacing: 0.08em; color: var(--dsw-alias-label-primary, #0f1115); } .hint { font-size: 12px; line-height: 18px; color: var(--dsw-alias-label-tertiary, #81858c); } .spinner { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--dsw-alias-border-l2, rgb(0 0 0 / 10%)); border-top-color: var(--dsw-alias-brand-primary, #3964fe); animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .failed { max-width: 480px; display: flex; flex-direction: column; gap: 8px; } .failedTitle { font-size: 14px; line-height: 22px; font-weight: 600; color: var(--dsw-alias-label-primary, #0f1115); } .failedItem { font-family: var(--ds-font-family-code, ui-monospace, 'SF Mono', Menlo, Consolas, 'Courier New'); font-size: 12px; line-height: 18px; color: var(--dsw-alias-label-secondary, #61666b); }