/* Startup uses the shared Arc theme. */
.bmd-startup {
  /* Keep the login layout and the logo's animation destination unchanged. */
  --startup-title-size: 1.375rem;
  --text-xl: var(--startup-title-size);
  --text-2xl: var(--startup-title-size);
  --text-3xl: var(--startup-title-size);
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  overflow: auto;
  padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
  background: var(--surface-canvas);
  color: var(--text-primary);
}
:root[data-theme="light"] .bmd-startup { background: var(--surface-container); }
.bmd-startup-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(400px, 100%);
  min-height: min-content;
  margin: auto;
}
.bmd-startup-logo { width: min(190px, 70vw); flex: none; line-height: 0; color: var(--text-primary); }
.bmd-startup-logo[data-pending] { opacity: 0; }
.bmd-startup-logo svg { display: block; width: 100%; height: auto; overflow: visible; }
.bmd-startup-logo path { fill: var(--text-primary); stroke: var(--text-primary); stroke-width: .32px; stroke-linejoin: round; }
.bmd-startup-logo svg > path:nth-of-type(2) { fill: var(--blue-9); stroke: var(--blue-9); }
.bmd-startup-logo path.bmd-brand-stroke { fill: none; stroke: var(--text-primary); stroke-width: .55px; stroke-linecap: round; }
.bmd-startup-logo path.bmd-brand-stroke--accent { stroke: var(--blue-9); }
.bmd-startup-panel { width: 100%; margin-top: 28px; }
/* Arc SignIn block; align with the workbench typography and border tokens. */
.arc_signin_signIn { border-width: .5px; border-radius: var(--radius-md); background: var(--surface-sidebar); }
.arc_signin_step { padding: 24px; }
.arc_signin_heading h2 { font-family: var(--font-family-sans); font-size: var(--startup-title-size); font-weight: 500; line-height: 1.35; }
.arc_signin_heading p { font-size: var(--font-size-body); text-align: left; }
.arc_signin_signIn .arc_btn_button, .arc_signin_signIn .arc_in_label, .arc_signin_signIn .arc_in_input { font-size: var(--font-size-body); }
.arc_signin_signIn .arc_signin_footer, .arc_signin_signIn .arc_signin_divider, .arc_signin_signIn .arc_otp_description, .arc_signin_signIn .arc_otp_error { font-size: var(--font-size-caption); }
.arc_signin_signIn .arc_signin_identity, .arc_signin_signIn .arc_signin_footer, .arc_signin_signIn .arc_otp_input, .arc_signin_signIn .arc_otp_ring { border-width: .5px; }
.arc_signin_signIn .arc_signin_divider::before, .arc_signin_signIn .arc_signin_divider::after { height: .5px; }
.bmd-startup-error-card { display: grid; gap: 16px; padding: 24px; border: .5px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-sidebar); }
.bmd-startup-error-card h2 { margin: 0; font-size: var(--font-size-section); font-weight: 500; }
.bmd-startup-error-card .arc_btn_button { width: 100%; font-size: var(--font-size-body); }
/* Static fallback is retained if the component bundle cannot load. */
.bmd-startup-panel > div:not([hidden]):not(:has(.arc_signin_signIn)):not(:has(.bmd-startup-error-card)) { display: flex; flex-direction: column; gap: 16px; padding: 24px; border: .5px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-sidebar); }
.bmd-startup-label { font-size: var(--font-size-body); font-weight: 600; color: var(--text-primary); text-align: center; }
.bmd-startup-panel .bmd-btn { width: 100%; }
.bmd-startup-error-card p, .bmd-startup-status { margin: 0; font-size: var(--font-size-body); color: var(--text-secondary); text-align: center; }
.bmd-startup-status:not(:empty) { margin-top: 20px; }
.bmd-startup[data-phase="waiting"] .bmd-startup-status { position: fixed; top: calc(50% + 40px); right: 0; left: 0; margin: 0; }
.bmd-startup[data-phase="app-entry"] .bmd-startup-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.bmd-startup[data-phase="app-entry"][data-slow-entry] .bmd-startup-status { position: fixed; top: calc(50% + 40px); right: 0; left: 0; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; }
#bmd-app { width: 100%; height: 100%; }
#bmd-app.bmd-entering { position: fixed; inset: 0; z-index: 10001; transform-origin: center bottom; overflow: hidden; }
.bmd-startup-noscript { position: fixed; inset: 0; z-index: 10002; display: grid; place-items: center; padding: 24px; background: var(--surface-canvas); color: var(--text-primary); text-align: center; }
