.artificer-web-document,
.artificer-web-body {
  min-height: 100%;
}

.artificer-web-body {
  margin: 0;
  background: #1b2027;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.artificer-web-shell {
  position: fixed;
  inset: 0;
  z-index: 9999;
  min-height: 100vh;
  background: #1b2027;
  color: #f4efe6;
  display: grid;
}

body.auth-modal-open .artificer-web-shell {
  z-index: 900;
}

.artificer-web-login-gate {
  align-self: center;
  justify-self: center;
}

.artificer-web-login-btn {
  appearance: none;
  width: fit-content;
  min-width: 0;
  border: 1px solid rgba(244, 239, 230, 0.22);
  border-radius: 8px;
  background: rgba(244, 239, 230, 0.08);
  color: #f4efe6;
  font: inherit;
  font-size: 0.95rem;
  line-height: 1;
  padding: 0.68rem 0.95rem;
  box-shadow: none;
  cursor: pointer;
}

.artificer-web-login-btn:hover,
.artificer-web-login-btn:focus-visible {
  border-color: rgba(244, 239, 230, 0.42);
  background: rgba(244, 239, 230, 0.14);
  outline: none;
}

.artificer-web-body #title-block-header {
  display: none;
}

.artificer-web-status {
  align-self: center;
  justify-self: center;
  width: min(34rem, calc(100vw - 2rem));
  padding: 1.5rem;
}

.artificer-web-shell .artificer-web-status h1 {
  color: #f4efe6 !important;
  font-size: clamp(2rem, 6vw, 4.5rem);
  line-height: 0.95;
  margin: 0 0 1rem;
  letter-spacing: 0;
}

.artificer-web-status p {
  color: #c9d7d6;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

.artificer-web-frame {
  width: 100%;
  height: 100vh;
  border: 0;
  display: block;
  background: #1b2027;
}

.artificer-web-error {
  text-align: center;
}
