@import url('https://fonts.googleapis.com/css2?family=Courier+Prime&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css');

@font-face {
  font-family: "ColfaxAI";
  src: url(https://cdn.openai.com/API/fonts/ColfaxAIRegular.woff2)
      format("woff2"),
    url(https://cdn.openai.com/API/fonts/ColfaxAIRegular.woff) format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "ColfaxAI";
  src: url(https://cdn.openai.com/API/fonts/ColfaxAIBold.woff2) format("woff2"),
    url(https://cdn.openai.com/API/fonts/ColfaxAIBold.woff) format("woff");
  font-weight: bold;
  font-style: normal;
}

body,
input {
  font-size: 16px;
  line-height: 24px;
  color: #353740;
  font-family: "ColfaxAI", Helvetica, sans-serif;
}
body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 92px;
}
.icon {
  width: 34px;
}
h2 a {
  color: black; /* change to any color you want for the icons */
  text-decoration: none;
  /* additional styling as per your design */
}
h2 a:hover {
  /* styling for when the mouse hovers over the link, e.g. change color */
  color: gray;
}
h3 {
  line-height: 40px;
  font-weight: bold;
  color: #202123;
  margin: 16px 0 40px;
}
form {
  display: flex;
  flex-direction: column;
  width: 500px;
}
main {
  width: 90%;
} 
ul {
  list-style-type: disc;
}
input[type="text"] {
  padding: 12px 16px;
  border: 1px solid #10a37f;
  border-radius: 4px;
  margin-bottom: 24px;
}
input[type="password"] {
  padding: 12px 16px;
  border: 1px solid #10a37f;
  border-radius: 4px;
  margin-bottom: 24px;
}
::placeholder {
  color: #8e8ea0;
  opacity: 1;
}
input[type="submit"] {
  padding: 12px 0;
  color: #fff;
  background-color: #10a37f;
  border: none;
  border-radius: 4px;
  text-align: center;
  cursor: pointer;
}
.result {
  font-weight: bold;
  margin-top: 40px;
}
.nospace {
  margin: 0;
  font-family: 'Courier Prime', monospace;
}
.social-links-bar {
  display: flex;
  justify-content: center;
  align-items: center;
}
.social-links a {
  margin: 0 10px; /* adjust as needed */
  color: black; /* change to any color you want for the icons */
  text-decoration: none;
  /* additional styling as per your design */
}
.social-links a:hover {
  /* styling for when the mouse hovers over the link, e.g. change color */
  color: gray;
}
.auth-status {
  margin: 12px 0 0;
  font-family: 'Courier Prime', monospace;
}
.auth-status a {
  color: #10a37f;
}
.auth-card {
  width: min(500px, 92vw);
}
.auth-card h2 {
  margin-bottom: 12px;
}
.auth-page header {
  text-align: center;
}
.auth-shell {
  width: min(560px, 92vw);
}
.auth-shell section {
  border-top: 1px solid rgba(53, 55, 64, 0.18);
  padding-top: 18px;
}
.auth-form {
  width: min(440px, 100%);
  margin: 0 auto;
}
.auth-form label {
  margin: 0 0 6px;
}
.auth-form input[type="text"],
.auth-form input[type="password"] {
  font-family: 'Courier Prime', monospace;
  border: 1px solid rgba(53, 55, 64, 0.35);
  border-radius: 0;
  margin-bottom: 18px;
  background: #fff;
}
.auth-submit {
  padding: 10px 0 !important;
  color: #353740 !important;
  background: transparent !important;
  border: 1px solid rgba(53, 55, 64, 0.45) !important;
  border-radius: 0 !important;
  font-family: 'Courier Prime', monospace;
}
.auth-submit:hover {
  background: #f3f3f3 !important;
}
.form-errors {
  color: #b42318;
  margin-bottom: 16px;
  font-family: 'Courier Prime', monospace;
}
.helper-links {
  font-family: 'Courier Prime', monospace;
  text-align: center;
}
.helper-links a {
  color: #5b3db5;
}
.site-utility-shell {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1000;
}
.site-utility-left,
.site-utility-right {
  position: fixed;
  top: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  pointer-events: auto;
}
.site-utility-left {
  left: 24px;
  justify-content: flex-start;
}
.site-utility-right {
  right: 24px;
  justify-content: flex-end;
}
.utility-button,
.utility-user {
  font-family: 'Courier Prime', monospace;
  font-size: 0.9rem;
  line-height: 1;
}
.utility-button {
  color: #0d7f63 !important;
  text-decoration: none;
  padding: 10px 14px;
  border: 1px solid rgba(16, 163, 127, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 30px rgba(16, 163, 127, 0.08);
  backdrop-filter: blur(10px);
}
.utility-button:hover {
  color: #0c7a5f;
  background: rgba(245, 255, 251, 0.96);
}
.utility-button-primary {
  background: #10a37f;
  border-color: #10a37f;
  color: #ffffff;
}
.utility-button-primary:hover {
  color: #ffffff;
  background: #0d8a6b;
}
.utility-back-button {
  padding-left: 12px;
}
.utility-user {
  padding: 10px 14px;
  border: 1px solid rgba(53, 55, 64, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 10px 30px rgba(17, 24, 39, 0.05);
  backdrop-filter: blur(10px);
}
.site-utility-shell-home .utility-button,
.site-utility-shell-home .utility-user {
  padding: 8px 12px;
  font-size: 0.82rem;
  box-shadow: none;
  background: rgba(255, 255, 255, 0.72);
}
.site-utility-shell-home .utility-button-primary {
  background: rgba(16, 163, 127, 0.92);
}
.site-status {
  text-align: center;
}
.field-helptext {
  margin: -10px 0 18px;
  color: #353740;
  font-size: 0.9rem;
  font-family: 'Courier Prime', monospace;
}
.field-helptext ul {
  margin: 8px 0 0 18px;
}
.tool-page header {
  text-align: center;
}
.tool-page header h1,
.tool-page header p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.tool-page .icon {
  display: block;
  margin: 0 auto 8px;
  width: 30px;
}
.tool-shell {
  width: min(760px, 92vw);
}
.tool-shell-wide {
  width: min(920px, 94vw);
}
.tool-shell section {
  padding-top: 4px;
}
.tool-form {
  width: min(620px, 100%);
  margin: 0 auto;
}
.tool-form label {
  display: block;
  margin: 0 0 8px;
  font-family: 'Courier Prime', monospace;
}
.tool-form .tool-input {
  font-family: 'Courier Prime', monospace;
  font-size: 16px;
  line-height: 24px;
  color: #353740 !important;
  border: 1px solid rgba(53, 55, 64, 0.45) !important;
  border-radius: 0 !important;
  margin-bottom: 18px !important;
  background: #fff !important;
  padding: 10px 12px !important;
  box-sizing: border-box;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}
.tool-form .tool-input:focus {
  outline: none;
  border-color: #353740 !important;
  box-shadow: none !important;
}
.tool-form .tool-input::placeholder {
  color: #6b7280;
}
.tool-form .tool-submit {
  display: block;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  padding: 10px 0 !important;
  margin: 0;
  color: #353740 !important;
  background: transparent !important;
  border: 1px solid rgba(53, 55, 64, 0.45) !important;
  border-radius: 0 !important;
  font-family: 'Courier Prime', monospace;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
}
.tool-form .tool-submit:hover {
  background: #f3f3f3 !important;
  color: #111827 !important;
}
.tool-result {
  width: min(720px, 100%);
  margin: 24px auto 0;
  padding-top: 16px;
  border-top: 1px solid rgba(53, 55, 64, 0.18);
}
.tool-result-title {
  margin-bottom: 8px;
}
.tool-output {
  font-family: 'Courier Prime', monospace;
  line-height: 1.65;
  white-space: normal;
}
.tool-output br {
  display: block;
  content: "";
  margin-bottom: 6px;
}
.tool-output-code {
  overflow-x: auto;
}
.tool-note {
  width: min(720px, 100%);
  margin: 24px auto 0;
  padding-top: 16px;
  border-top: 1px solid rgba(53, 55, 64, 0.18);
  line-height: 1.65;
}
.tool-diagram-preview {
  margin: 0 auto 24px;
  padding: 12px 0;
  overflow-x: auto;
  border-top: 1px solid rgba(53, 55, 64, 0.18);
  border-bottom: 1px solid rgba(53, 55, 64, 0.18);
}
@media (max-width: 640px) {
  body {
    padding-top: 116px;
  }

  .site-utility-left,
  .site-utility-right {
    top: 12px;
  }

  .site-utility-left {
    left: 12px;
  }

  .site-utility-right {
    right: 12px;
  }

  .utility-button,
  .utility-user {
    font-size: 0.82rem;
    padding: 9px 12px;
  }

  .tool-shell,
  .tool-shell-wide,
  .tool-form,
  .tool-result,
  .tool-note {
    width: 100%;
  }
}