/* Canonical startup surface, using the standalone Portal palette and geometry. */
.portal-startup {
  --startup-bg: var(--bg, #f3f6f8);
  --startup-surface: var(--surface, #fff);
  --startup-text: var(--text, #223247);
  --startup-muted: var(--muted, #56667a);
  --startup-border: var(--border, #dce2e8);
  --startup-accent: var(--accent, #236458);
  position: fixed; inset: 0; z-index: 100; display: grid; place-items: center;
  padding: 16px; overflow: auto; background: var(--startup-bg); color: var(--startup-text);
  font: 14px/1.5 system-ui, sans-serif;
}
html[data-theme="dark"] .portal-startup {
  --startup-bg: var(--bg, #181c21); --startup-surface: var(--surface, #20262d);
  --startup-text: var(--text, #e7edf3); --startup-muted: var(--muted, #b1bfcd);
  --startup-border: var(--border, #46515d); --startup-accent: var(--accent, #88ccbc);
}
.portal-startup, .portal-startup * { box-sizing: border-box; }
.portal-startup[hidden], .portal-startup [hidden] { display: none !important; }
.portal-startup-card { width: min(400px, calc(100vw - 48px)); max-width: 100%; padding: 24px; border: 1px solid var(--startup-border); border-radius: 6px; background: var(--startup-surface); }
.portal-startup .portal-startup-brand { margin: 0 0 12px; color: var(--startup-muted); font: 12px/1.5 system-ui, sans-serif; }
.portal-startup h1 { margin: 0; color: var(--startup-text); font: 600 22px/1.3 system-ui, sans-serif; letter-spacing: normal; overflow-wrap: anywhere; }
.portal-startup p { margin: 12px 0 0; color: var(--startup-muted); }
.portal-startup a { display: flex; justify-content: center; align-items: center; min-height: 44px; margin-top: 16px; padding: 8px 12px; border: 1px solid var(--startup-border); border-radius: 6px; background: var(--startup-surface); color: var(--startup-accent); text-decoration: none; font: inherit; }
.portal-startup a:focus-visible { outline: 2px solid var(--startup-accent); outline-offset: 3px; }
/* The fallback also works when the bootstrap script itself cannot be fetched. */
html:not([data-portal-startup]) .portal-startup [data-startup-detail] { display: block !important; }
html:not([data-portal-startup]) .portal-startup [data-startup-retry] { display: flex !important; }
html:not([data-portal-startup]) .portal-startup:has(noscript p) h1,
html:not([data-portal-startup]) .portal-startup:has(noscript p) [data-startup-detail] { display: none !important; }
