@charset "UTF-8";
/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */
/*
 * Default Trix editor styles. See Action Text overwrites below.
*/
/* line 5, app/assets/stylesheets/actiontext.css */
trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none;
}

/* line 13, app/assets/stylesheets/actiontext.css */
trix-toolbar * {
  box-sizing: border-box;
}

/* line 16, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}

/* line 22, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}

/* line 29, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}

@media (max-width: 768px) {
  /* line 32, app/assets/stylesheets/actiontext.css */
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}

/* line 35, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}

@media (max-width: 768px) {
  /* line 38, app/assets/stylesheets/actiontext.css */
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}

/* line 41, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}

/* line 55, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

/* line 57, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: black;
}

/* line 60, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}

/* line 62, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}

@media (max-width: 768px) {
  /* line 65, app/assets/stylesheets/actiontext.css */
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}

/* line 69, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}

@media (max-width: 768px) {
  /* line 76, app/assets/stylesheets/actiontext.css */
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}

/* line 79, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 768px) {
  /* line 92, app/assets/stylesheets/actiontext.css */
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}

/* line 95, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}

/* line 97, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}

/* line 100, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}

/* line 105, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 108, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 111, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 114, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 117, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 120, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 123, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 126, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 129, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 132, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 135, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 138, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 141, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

/* line 144, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-dialogs {
  position: relative;
}

/* line 147, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}

/* line 160, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* line 172, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}

/* line 175, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}

/* line 180, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-dialog--link {
  max-width: 600px;
}

/* line 183, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}

/* line 186, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}

/* line 188, app/assets/stylesheets/actiontext.css */
trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}

/* line 192, app/assets/stylesheets/actiontext.css */
trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* line 198, app/assets/stylesheets/actiontext.css */
trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none;
}

/* line 202, app/assets/stylesheets/actiontext.css */
trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::selection {
  background: none;
}

/* line 206, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__caption-editor[data-trix-mutable]:focus::-moz-selection {
  background: highlight;
}

/* line 209, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__caption-editor[data-trix-mutable]:focus::selection {
  background: highlight;
}

/* line 212, app/assets/stylesheets/actiontext.css */
trix-editor .attachment.attachment--file[data-trix-mutable] {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}

/* line 216, app/assets/stylesheets/actiontext.css */
trix-editor .attachment[data-trix-mutable] img {
  box-shadow: 0 0 0 2px highlight;
}

/* line 219, app/assets/stylesheets/actiontext.css */
trix-editor .attachment {
  position: relative;
}

/* line 221, app/assets/stylesheets/actiontext.css */
trix-editor .attachment:hover {
  cursor: default;
}

/* line 224, app/assets/stylesheets/actiontext.css */
trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}

/* line 227, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}

/* line 236, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}

/* line 239, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* line 255, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}

/* line 263, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button-group {
  display: inline-flex;
}

/* line 266, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}

/* line 278, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

/* line 280, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button.trix-active {
  background: #cbeefa;
}

/* line 282, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}

/* line 285, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}

/* line 297, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}

/* line 310, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button--remove:hover {
  border-color: #333;
}

/* line 312, app/assets/stylesheets/actiontext.css */
trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}

/* line 315, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__metadata-container {
  position: relative;
}

/* line 318, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}

/* line 329, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 336, app/assets/stylesheets/actiontext.css */
trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}

/* line 340, app/assets/stylesheets/actiontext.css */
.trix-content {
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* line 344, app/assets/stylesheets/actiontext.css */
.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* line 348, app/assets/stylesheets/actiontext.css */
.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}

/* line 351, app/assets/stylesheets/actiontext.css */
.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}

/* line 356, app/assets/stylesheets/actiontext.css */
.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}

/* line 362, app/assets/stylesheets/actiontext.css */
.trix-content li {
  margin-left: 1em;
}

/* line 364, app/assets/stylesheets/actiontext.css */
.trix-content [dir=rtl] li {
  margin-right: 1em;
}

/* line 366, app/assets/stylesheets/actiontext.css */
.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}

/* line 376, app/assets/stylesheets/actiontext.css */
.trix-content img {
  max-width: 100%;
  height: auto;
}

/* line 379, app/assets/stylesheets/actiontext.css */
.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

/* line 383, app/assets/stylesheets/actiontext.css */
.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}

/* line 386, app/assets/stylesheets/actiontext.css */
.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}

/* line 388, app/assets/stylesheets/actiontext.css */
.trix-content .attachment__caption {
  text-align: center;
}

/* line 390, app/assets/stylesheets/actiontext.css */
.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: ' \2022 ';
}

/* line 392, app/assets/stylesheets/actiontext.css */
.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}

/* line 395, app/assets/stylesheets/actiontext.css */
.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}

/* line 399, app/assets/stylesheets/actiontext.css */
.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}

/* line 406, app/assets/stylesheets/actiontext.css */
.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

/* line 410, app/assets/stylesheets/actiontext.css */
.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

/* line 414, app/assets/stylesheets/actiontext.css */
.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

/*
 * We need to override trix.css’s image gallery styles to accommodate the
 * <action-text-attachment> element we wrap around attachments. Otherwise,
 * images in galleries will be squished by the max-width: 33%; rule.
*/
/* line 423, app/assets/stylesheets/actiontext.css */
.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

/* line 430, app/assets/stylesheets/actiontext.css */
.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

/* line 437, app/assets/stylesheets/actiontext.css */
.trix-content action-text-attachment .attachment {
  padding: 0 !important;
  max-width: 100% !important;
}

/* ------------------------------------------------------------
 * ActionText / Trix dark-theme tweaks (internal UI)
 * ------------------------------------------------------------ */
/* line 5, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar {
  background: transparent;
  max-height: none;
  overflow: visible;
}

/* line 11, app/assets/stylesheets/actiontext_overrides.scss */
.trix-toolbar--hidden {
  display: none;
}

/* line 15, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button-row {
  overflow-y: hidden;
}

/* line 19, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button-group {
  border-color: var(--ssj-control-border);
  background: var(--ssj-surface-bg-2);
}

/* line 24, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button {
  color: transparent;
  /* hide label text */
  border-bottom-color: var(--ssj-control-border);
  background: transparent;
  text-indent: -9999px;
  position: relative;
  overflow: visible;
}

/* line 33, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button:hover,
trix-toolbar .trix-button:focus-visible {
  background: var(--ssj-control-hover-bg);
}

/* line 38, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button::after {
  content: attr(title);
  position: absolute;
  left: 50%;
  top: calc(100% + 6px);
  transform: translateX(-50%);
  padding: 6px 8px;
  border-radius: 8px;
  border: 1px solid var(--ssj-popover-border);
  background: var(--ssj-popover-bg);
  color: var(--ssj-page-text);
  font-size: 12px;
  letter-spacing: 0.02em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
  z-index: 20;
}

/* line 58, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button:hover::after,
trix-toolbar .trix-button:focus-visible::after {
  opacity: 1;
}

/* line 63, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button:not(:first-child) {
  border-left-color: var(--ssj-control-border);
}

/* line 67, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button.trix-active {
  background: var(--ssj-control-hover-bg);
  color: var(--ssj-page-text);
}

/* line 72, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-button--icon::before {
  filter: var(--ssj-trix-icon-filter, none);
}

/* line 76, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-dialog {
  background: var(--ssj-popover-bg);
  border-top-color: var(--ssj-popover-border);
  box-shadow: var(--ssj-shadow-lg);
}

/* line 82, app/assets/stylesheets/actiontext_overrides.scss */
trix-toolbar .trix-input--dialog {
  border-color: var(--ssj-control-border);
  background: var(--ssj-input-bg);
  color: var(--ssj-input-fg);
}

/* line 88, app/assets/stylesheets/actiontext_overrides.scss */
trix-editor {
  border-color: var(--ssj-control-border);
  background: var(--ssj-input-bg);
  color: var(--ssj-input-fg);
  border-radius: 12px;
  padding: 10px 12px;
}

/* line 96, app/assets/stylesheets/actiontext_overrides.scss */
trix-editor::before {
  color: var(--ssj-input-placeholder);
}

/* line 100, app/assets/stylesheets/actiontext_overrides.scss */
.trix-content {
  color: var(--ssj-input-fg);
}

/* line 104, app/assets/stylesheets/actiontext_overrides.scss */
.trix-content a {
  color: var(--ssj-blue-300);
  text-decoration: underline;
}

/* line 109, app/assets/stylesheets/actiontext_overrides.scss */
.trix-content a:hover,
.trix-content a:focus {
  color: var(--ssj-blue-100);
}

/* line 114, app/assets/stylesheets/actiontext_overrides.scss */
.trix-content blockquote {
  border-left-color: var(--ssj-control-border);
  color: var(--ssj-page-text-muted);
}

/* line 119, app/assets/stylesheets/actiontext_overrides.scss */
.trix-content pre {
  background: var(--ssj-surface-bg-2);
  color: var(--ssj-page-text);
  border: 1px solid var(--ssj-control-border);
  border-radius: 12px;
}

/* line 126, app/assets/stylesheets/actiontext_overrides.scss */
.trix-content .attachment--file {
  background: var(--ssj-surface-bg-2);
  border-color: var(--ssj-control-border);
  color: var(--ssj-page-text);
}

/* Link paste dialog */
/* line 133, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(4px);
}

/* line 144, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-box {
  background: var(--ssj-popover-bg);
  border: 1px solid var(--ssj-popover-border);
  border-radius: 16px;
  padding: 20px 24px;
  min-width: 320px;
  max-width: 90vw;
  box-shadow: var(--ssj-shadow-lg);
}

/* line 154, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--ssj-page-text);
  margin-bottom: 8px;
}

/* line 161, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-url {
  font-size: 13px;
  color: var(--ssj-blue-600);
  margin-bottom: 14px;
  word-break: break-all;
}

/* line 168, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-input {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--ssj-control-border);
  background: var(--ssj-input-bg);
  color: var(--ssj-input-fg);
  padding: 0 12px;
  font-size: 15px;
  outline: none;
}

/* line 180, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-input:focus {
  border-color: var(--ssj-blue-300);
}

/* line 184, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-buttons {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 16px;
}

/* line 191, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-cancel,
.trix-link-dialog-confirm {
  height: 38px;
  padding: 0 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
}

/* line 202, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-cancel {
  background: var(--ssj-cta-bg);
  color: var(--ssj-page-text-muted);
}

/* line 207, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-cancel:hover {
  background: var(--ssj-control-hover-bg);
}

/* line 211, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-confirm {
  background: var(--ssj-purple-600);
  color: rgba(252, 252, 252, 0.95);
}

/* line 216, app/assets/stylesheets/actiontext_overrides.scss */
.trix-link-dialog-confirm:hover {
  background: var(--ssj-purple-700);
}

/* Light-mode reinforcement (avoid dark defaults leaking through) */
/* line 221, app/assets/stylesheets/actiontext_overrides.scss */
body[data-theme="light"] trix-toolbar .trix-button-group,
body[data-theme="light"] trix-toolbar .trix-dialog,
body[data-theme="light"] trix-editor,
body[data-theme="light"] .trix-content,
body[data-theme="light"] .trix-link-dialog-box {
  color: var(--ssj-page-text);
  background: var(--ssj-input-bg);
}

/* line 230, app/assets/stylesheets/actiontext_overrides.scss */
body[data-theme="light"] trix-toolbar .trix-button-group {
  background: var(--ssj-surface-bg-2);
}

/* line 234, app/assets/stylesheets/actiontext_overrides.scss */
body[data-theme="light"] trix-toolbar .trix-button--icon::before {
  filter: none;
}

/* ------------------------------------------------------------
 * Home welcome (breathe + long page) styles
 * ------------------------------------------------------------ */
/* ------------------------------------------------------------
 * Theme (SSJ palette + global typography)
 * ------------------------------------------------------------ */
/* line 23, app/assets/stylesheets/application.scss */
:root {
  /* Typography */
  --ssj-font-sans: "Outfit", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  /* Global layout helpers */
  --ssj-flash-top: calc(env(safe-area-inset-top, 0px) + 16px);
  --ssj-internal-top-extra: 0px;
  /* Neutrals */
  --ssj-bg: #0b0b0c;
  --ssj-white: #fcfcfc;
  --ssj-ice: #f4fcfc;
  --ssj-cream: #f4f4ec;
  --ssj-gray: #5c5c5c;
  /* Purples / Lavender */
  --ssj-purple-700: #4c3c94;
  --ssj-purple-600: #6c64ac;
  --ssj-purple-300: #a49ccc;
  --ssj-lavender-100: #ccc4e4;
  /* Blues */
  --ssj-blue-700: #343c9c;
  --ssj-blue-600: #4c5cac;
  --ssj-blue-300: #8494cc;
  --ssj-blue-100: #ccd4ec;
  /* Accents */
  --ssj-lime-500: #d4dc24;
  --ssj-lime-200: #e4ec7c;
  --ssj-pink-600: #d4549c;
  --ssj-pink-500: #e474ac;
  --ssj-pink-200: #ecaccc;
  --ssj-orange-500: #f48444;
  --ssj-peach-300: #fcb47c;
  --ssj-yellow-300: #fce474;
  --ssj-yellow-100: #fcfcc4;
}

/* ------------------------------------------------------------
 * Light / Dark / System theme tokens
 * ------------------------------------------------------------ */
/* line 66, app/assets/stylesheets/application.scss */
html {
  color-scheme: light dark;
}

/* line 68, app/assets/stylesheets/application.scss */
body[data-theme="dark"] {
  --ssj-page-bg: var(--ssj-bg);
  --ssj-page-text: var(--ssj-white);
  --ssj-page-text-muted: rgba(252, 252, 252, 0.72);
  --ssj-page-text-subtle: rgba(252, 252, 252, 0.62);
  --ssj-edge-bg: #070708;
  --ssj-nav-bg: rgba(11, 11, 12, 0.72);
  --ssj-surface-bg: rgba(252, 252, 252, 0.04);
  --ssj-surface-bg-2: rgba(252, 252, 252, 0.03);
  --ssj-surface-border: rgba(204, 196, 228, 0.14);
  --ssj-hairline: rgba(204, 212, 236, 0.16);
  --ssj-shadow-lg: 0 24px 80px rgba(0, 0, 0, 0.45);
  --ssj-control-bg: transparent;
  --ssj-control-fg: rgba(252, 252, 252, 0.82);
  --ssj-control-border: rgba(204, 212, 236, 0.16);
  --ssj-control-hover-bg: rgba(252, 252, 252, 0.04);
  --ssj-control-hover-border: rgba(204, 212, 236, 0.26);
  --ssj-trix-icon-filter: invert(1) brightness(1.1);
  --ssj-popover-bg: rgba(11, 11, 12, 0.88);
  --ssj-popover-border: rgba(204, 196, 228, 0.18);
  --ssj-input-bg: #000;
  --ssj-input-fg: #fff;
  --ssj-input-placeholder: rgba(200, 200, 200, 0.70);
  --ssj-cta-bg: rgba(252, 252, 252, 0.08);
  --ssj-cta-border: rgba(252, 252, 252, 0.18);
  --ssj-cta-shadow: 0 18px 60px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(252, 252, 252, 0.06) inset;
  --ssj-table-head-bg: rgba(252, 252, 252, 0.04);
  --ssj-table-row-border: rgba(204, 196, 228, 0.10);
  --ssj-table-hover-bg: rgba(252, 252, 252, 0.04);
}

/* line 105, app/assets/stylesheets/application.scss */
body[data-theme="light"] {
  color-scheme: light;
  --ssj-page-bg: var(--ssj-cream);
  --ssj-page-text: #0b0b0c;
  --ssj-page-text-muted: rgba(11, 11, 12, 0.68);
  --ssj-page-text-subtle: rgba(11, 11, 12, 0.56);
  --ssj-edge-bg: #ffffff;
  --ssj-nav-bg: rgba(244, 244, 236, 0.78);
  --ssj-surface-bg: rgba(252, 252, 252, 0.70);
  --ssj-surface-bg-2: rgba(252, 252, 252, 0.60);
  --ssj-surface-border: rgba(76, 60, 148, 0.16);
  --ssj-hairline: rgba(76, 60, 148, 0.18);
  --ssj-shadow-lg: 0 24px 80px rgba(11, 11, 12, 0.14);
  --ssj-control-bg: transparent;
  --ssj-control-fg: rgba(11, 11, 12, 0.80);
  --ssj-control-border: rgba(76, 60, 148, 0.18);
  --ssj-control-hover-bg: rgba(76, 60, 148, 0.04);
  --ssj-control-hover-border: rgba(76, 60, 148, 0.26);
  --ssj-trix-icon-filter: none;
  --ssj-popover-bg: rgba(252, 252, 252, 0.94);
  --ssj-popover-border: rgba(76, 60, 148, 0.18);
  --ssj-input-bg: rgba(252, 252, 252, 0.92);
  --ssj-input-fg: #0b0b0c;
  --ssj-input-placeholder: rgba(11, 11, 12, 0.45);
  --ssj-cta-bg: rgba(11, 11, 12, 0.05);
  --ssj-cta-border: rgba(11, 11, 12, 0.12);
  --ssj-cta-shadow: 0 18px 60px rgba(11, 11, 12, 0.14), 0 1px 0 rgba(252, 252, 252, 0.06) inset;
  --ssj-table-head-bg: rgba(76, 60, 148, 0.04);
  --ssj-table-row-border: rgba(76, 60, 148, 0.10);
  --ssj-table-hover-bg: rgba(76, 60, 148, 0.04);
}

/* System = light by default, overridden by prefers-color-scheme */
/* line 144, app/assets/stylesheets/application.scss */
body[data-theme="system"] {
  color-scheme: light dark;
  --ssj-page-bg: var(--ssj-cream);
  --ssj-page-text: #0b0b0c;
  --ssj-page-text-muted: rgba(11, 11, 12, 0.68);
  --ssj-page-text-subtle: rgba(11, 11, 12, 0.56);
  --ssj-edge-bg: #ffffff;
  --ssj-nav-bg: rgba(244, 244, 236, 0.78);
  --ssj-surface-bg: rgba(252, 252, 252, 0.70);
  --ssj-surface-bg-2: rgba(252, 252, 252, 0.60);
  --ssj-surface-border: rgba(76, 60, 148, 0.16);
  --ssj-hairline: rgba(76, 60, 148, 0.18);
  --ssj-shadow-lg: 0 24px 80px rgba(11, 11, 12, 0.14);
  --ssj-control-bg: transparent;
  --ssj-control-fg: rgba(11, 11, 12, 0.80);
  --ssj-control-border: rgba(76, 60, 148, 0.18);
  --ssj-control-hover-bg: rgba(76, 60, 148, 0.04);
  --ssj-control-hover-border: rgba(76, 60, 148, 0.26);
  --ssj-trix-icon-filter: none;
  --ssj-popover-bg: rgba(252, 252, 252, 0.94);
  --ssj-popover-border: rgba(76, 60, 148, 0.18);
  --ssj-input-bg: rgba(252, 252, 252, 0.92);
  --ssj-input-fg: #0b0b0c;
  --ssj-input-placeholder: rgba(11, 11, 12, 0.45);
  --ssj-cta-bg: rgba(11, 11, 12, 0.05);
  --ssj-cta-border: rgba(11, 11, 12, 0.12);
  --ssj-cta-shadow: 0 18px 60px rgba(11, 11, 12, 0.14), 0 1px 0 rgba(252, 252, 252, 0.06) inset;
  --ssj-table-head-bg: rgba(76, 60, 148, 0.04);
  --ssj-table-row-border: rgba(76, 60, 148, 0.10);
  --ssj-table-hover-bg: rgba(76, 60, 148, 0.04);
}

@media (prefers-color-scheme: dark) {
  /* line 182, app/assets/stylesheets/application.scss */
  body[data-theme="system"] {
    --ssj-page-bg: var(--ssj-bg);
    --ssj-page-text: var(--ssj-white);
    --ssj-page-text-muted: rgba(252, 252, 252, 0.72);
    --ssj-page-text-subtle: rgba(252, 252, 252, 0.62);
    --ssj-edge-bg: #070708;
    --ssj-nav-bg: rgba(11, 11, 12, 0.72);
    --ssj-surface-bg: rgba(252, 252, 252, 0.04);
    --ssj-surface-bg-2: rgba(252, 252, 252, 0.03);
    --ssj-surface-border: rgba(204, 196, 228, 0.14);
    --ssj-hairline: rgba(204, 212, 236, 0.16);
    --ssj-shadow-lg: 0 24px 80px rgba(0, 0, 0, 0.45);
    --ssj-control-bg: transparent;
    --ssj-control-fg: rgba(252, 252, 252, 0.82);
    --ssj-control-border: rgba(204, 212, 236, 0.16);
    --ssj-control-hover-bg: rgba(252, 252, 252, 0.04);
    --ssj-control-hover-border: rgba(204, 212, 236, 0.26);
    --ssj-trix-icon-filter: invert(1) brightness(1.1);
    --ssj-popover-bg: rgba(11, 11, 12, 0.88);
    --ssj-popover-border: rgba(204, 196, 228, 0.18);
    --ssj-input-bg: #000;
    --ssj-input-fg: #fff;
    --ssj-input-placeholder: rgba(200, 200, 200, 0.70);
    --ssj-cta-bg: rgba(252, 252, 252, 0.08);
    --ssj-cta-border: rgba(252, 252, 252, 0.18);
    --ssj-cta-shadow: 0 18px 60px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(252, 252, 252, 0.06) inset;
    --ssj-table-head-bg: rgba(252, 252, 252, 0.04);
    --ssj-table-row-border: rgba(204, 196, 228, 0.10);
    --ssj-table-hover-bg: rgba(252, 252, 252, 0.04);
  }
}

/* Safe global reset (keeps future pages predictable) */
/* line 221, app/assets/stylesheets/application.scss */
html, body {
  height: 100%;
}

/* line 222, app/assets/stylesheets/application.scss */
body {
  margin: 0;
  font-family: var(--ssj-font-sans);
  background: var(--ssj-page-bg);
  color: var(--ssj-page-text);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Ensure HTML `hidden` always wins over inline display styles */
/* line 233, app/assets/stylesheets/application.scss */
[hidden] {
  display: none !important;
}

/* line 235, app/assets/stylesheets/application.scss */
.flash-wrap {
  padding-top: var(--ssj-flash-top);
  padding-left: 16px;
  padding-right: 16px;
}

/* line 241, app/assets/stylesheets/application.scss */
.flash-messages {
  max-width: 1080px;
  margin: 0 auto;
}

/* line 243, app/assets/stylesheets/application.scss */
.flash {
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
}

/* line 250, app/assets/stylesheets/application.scss */
.flash--notice {
  background: rgba(35, 133, 83, 0.18);
  border: 1px solid rgba(35, 133, 83, 0.35);
  margin-bottom: 8px;
}

/* line 256, app/assets/stylesheets/application.scss */
.flash--alert {
  background: rgba(180, 50, 50, 0.18);
  border: 1px solid rgba(180, 50, 50, 0.35);
}

/* iOS Safari safe-area background + padding for the welcome flow */
/* line 262, app/assets/stylesheets/application.scss */
html.welcome-html,
body.welcome-body {
  background: var(--ssj-page-bg);
}

/* line 267, app/assets/stylesheets/application.scss */
.welcome-body.welcome-fullscreen {
  overflow: hidden;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE/Edge legacy */
}

/* line 272, app/assets/stylesheets/application.scss */
.welcome-body.welcome-fullscreen::-webkit-scrollbar {
  width: 0;
  height: 0;
}

/* Wrapper so we don't globally force a black theme across the entire app */
/* line 275, app/assets/stylesheets/application.scss */
.welcome-shell {
  min-height: 100vh;
  min-height: 100svh;
  background: var(--bg);
  color: var(--ssj-page-text);
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  overflow: hidden;
  /* prevents transient body scrollbars during transitions */
}

/* Force safe areas to stay black even if overlays hit them (iOS Safari quirk) */
/* line 286, app/assets/stylesheets/application.scss */
.safe-area-cover {
  position: fixed;
  left: 0;
  right: 0;
  background: var(--bg, #0b0b0c);
  z-index: 2005;
  /* above breath overlay/label */
  pointer-events: none;
  display: none;
}

/* iOS Safari sometimes tints browser UI based on the page edge color.
   We keep the very top/bottom edge black by covering safe areas + 2px into the viewport. */
/* line 297, app/assets/stylesheets/application.scss */
body.welcome-ios .safe-area-cover {
  display: block;
}

/* line 298, app/assets/stylesheets/application.scss */
.safe-area-cover--top {
  top: 0;
  height: calc(max(env(safe-area-inset-top, 0px), constant(safe-area-inset-top, 0px)) + 2px);
}

/* line 299, app/assets/stylesheets/application.scss */
.safe-area-cover--bottom {
  bottom: 0;
  height: calc(max(env(safe-area-inset-bottom, 0px), constant(safe-area-inset-bottom, 0px)) + 2px);
}

/* Keep the mask "boosted" for the full breathe animation window */
/* line 302, app/assets/stylesheets/application.scss */
body.welcome-ios.welcome-breathing .safe-area-cover--top {
  height: 30px;
}

/* line 303, app/assets/stylesheets/application.scss */
body.welcome-ios.welcome-breathing .safe-area-cover--bottom {
  height: 30px;
}

/* ---------- Breathe stage ---------- */
/* line 306, app/assets/stylesheets/application.scss */
.welcome-shell {
  /* Breathe animation config */
  --bg: var(--ssj-page-bg);
  --fg: var(--ssj-page-text);
  --muted: var(--ssj-page-text-muted);
  --hairline: var(--ssj-hairline);
  --green: #1f7a48;
  --green-hover: #238553;
  --breath-color: #3b2f7c;
  /* Circle fill color (purple/blue). */
  --breath-opacity-start: 0.4;
  /* Circle opacity when it begins (small dot). */
  --breath-opacity-end: 1;
  /* Circle opacity at full size (midpoint between in/out). */
  --breath-pre-wait: 2s;
  /* Wait after click (and fullscreen transition) before any breathe animations begin. */
  --breath-label-fade-in: 1s;
  /* How long “breathe in” takes to fade in after click. */
  --breath-pause-before-circle: 0s;
  /* Extra pause after label fade-in, before circle starts growing. */
  --breath-in-duration: 4s;
  /* Total time for breathe-in (circle growth) to reach the midpoint transition. */
  --breath-out-duration: 6s;
  /* Total time for breathe-out (circle shrink) to complete. */
  --breath-crossfade-duration: 2s;
  /* Crossfade duration between “breathe in” and “breathe out”. */
  --breath-hold-full: 1s;
  /* Time to hold at full circle before shrinking begins. */
  --breath-out-label-fade-out: 2s;
  /* After breathe-out completes, fade out the “breathe out” text. */
  --breath-final-wait: 1s;
  /* Wait after circle finishes shrinking before switching pages. */
  /* Derived timings */
  --breath-label-delay: var(--breath-pre-wait);
  /* When “breathe in” starts fading in (relative to click). */
  --breath-circle-delay: calc(var(--breath-label-delay) + var(--breath-label-fade-in) + var(--breath-pause-before-circle));
  /* When circle growth starts (relative to click). */
  --breath-grow-end: calc(var(--breath-circle-delay) + var(--breath-in-duration));
  /* When growth ends (full circle). */
  --breath-crossfade-at: var(--breath-grow-end);
  /* When the label switches from “in” to “out”. */
  --breath-shrink-delay: calc(var(--breath-crossfade-at) + var(--breath-crossfade-duration) + var(--breath-hold-full));
  /* When circle shrink starts (after crossfade completes). */
  --breath-shrink-end: calc(var(--breath-shrink-delay) + var(--breath-out-duration));
  /* When shrink finishes (circle is gone). */
  --breath-out-label-fade-out-at: var(--breath-shrink-end);
  /* When the “breathe out” label starts fading out. */
}

/* line 338, app/assets/stylesheets/application.scss */
.breath-stage {
  background: var(--bg);
  color: var(--fg);
}

@keyframes breatheFadeIn {
  to {
    opacity: 1;
  }
}

@keyframes breathCircle {
  from {
    clip-path: circle(0px at 50% 50%);
    opacity: var(--breath-opacity-start);
  }
  to {
    clip-path: circle(var(--breath-r, 0px) at 50% 50%);
    opacity: var(--breath-opacity-end);
  }
}

@keyframes breathLabelIn {
  to {
    opacity: 1;
  }
}

@keyframes breathLabelOut {
  to {
    opacity: 0;
  }
}

/* line 353, app/assets/stylesheets/application.scss */
.breath-page {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 24px;
}

/* line 361, app/assets/stylesheets/application.scss */
.breath-frame {
  position: relative;
  width: 100%;
  max-width: 720px;
  height: 100vh;
  height: 100svh;
  max-height: 720px;
  min-height: 100vh;
  min-height: 100svh;
}

/* line 372, app/assets/stylesheets/application.scss */
.breath-top,
.breath-center,
.breath-bottom {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  animation: breatheFadeIn 2.2s cubic-bezier(0.2, 0, 0, 1) forwards;
}

/* line 382, app/assets/stylesheets/application.scss */
.breath-top {
  top: 33vh;
  text-align: center;
  /* 1.4x previous size */
  font-size: clamp(22px, 2.8vw, 28px);
  font-weight: 300;
  letter-spacing: 0.01em;
  color: var(--muted);
  animation-delay: 0.6s;
  white-space: nowrap;
}

/* line 394, app/assets/stylesheets/application.scss */
.breath-center {
  top: 50%;
  transform: translate(-50%, -50%);
  animation-delay: 2.2s;
}

/* line 400, app/assets/stylesheets/application.scss */
.breath-bottom {
  bottom: calc(40px + env(safe-area-inset-bottom, 0px));
  animation-delay: 3.6s;
}

/* line 405, app/assets/stylesheets/application.scss */
.breath-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 16px;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: none;
  user-select: none;
  white-space: nowrap;
}

/* line 419, app/assets/stylesheets/application.scss */
.breath-btn--sure {
  background: var(--green);
  border: 0;
  color: #fff;
  font-size: 14px;
  padding: 12px 22px;
  cursor: pointer;
}

/* line 428, app/assets/stylesheets/application.scss */
.breath-btn--sure:hover {
  background: var(--green-hover);
}

/* line 430, app/assets/stylesheets/application.scss */
.breath-btn--not {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.75);
  color: rgba(255, 255, 255, 0.85);
  font-size: 12px;
  padding: 10px 14px;
  cursor: pointer;
}

/* line 439, app/assets/stylesheets/application.scss */
.breath-btn--not:hover {
  border-color: rgba(255, 255, 255, 0.95);
  color: rgba(255, 255, 255, 0.95);
}

/* line 444, app/assets/stylesheets/application.scss */
.breath-frame.is-breathing .breath-top,
.breath-frame.is-breathing .breath-center,
.breath-frame.is-breathing .breath-bottom {
  opacity: 0 !important;
  animation: none !important;
  transition: opacity 250ms ease;
  pointer-events: none;
}

/* line 453, app/assets/stylesheets/application.scss */
.breath-overlay {
  position: fixed;
  /* Keep safe areas black on iOS by not covering them with the purple overlay */
  inset: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  background: var(--breath-color);
  opacity: 0;
  clip-path: circle(0px at 50% 50%);
  pointer-events: none;
  z-index: 999;
  will-change: clip-path, opacity;
}

/* line 465, app/assets/stylesheets/application.scss */
.exit-fullscreen {
  position: fixed;
  right: calc(40px + env(safe-area-inset-right, 0px));
  bottom: calc(40px + env(safe-area-inset-bottom, 0px));
  opacity: 0;
  pointer-events: none;
  z-index: 2010;
  /* above safe-area covers (so it’s clickable) */
}

/* Only show on desktop + when fullscreen; reveal after controller sets .is-visible */
@media (hover: hover) and (pointer: fine) {
  /* line 476, app/assets/stylesheets/application.scss */
  body.welcome-body.welcome-fullscreen .exit-fullscreen.is-visible {
    opacity: 1;
    pointer-events: auto;
    animation: sjFadeIn 1.2s cubic-bezier(0.2, 0, 0, 1) forwards;
  }
}

/* line 483, app/assets/stylesheets/application.scss */
.breath-frame.is-breathing .breath-overlay {
  animation: breathCircle var(--breath-in-duration) cubic-bezier(0.42, 0, 1, 1) forwards var(--breath-circle-delay), breathCircle var(--breath-out-duration) cubic-bezier(0.42, 0, 1, 1) reverse forwards var(--breath-shrink-delay);
}

/* line 489, app/assets/stylesheets/application.scss */
.breath-label {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 300;
  letter-spacing: 0.01em;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  z-index: 1000;
  pointer-events: none;
}

/* line 503, app/assets/stylesheets/application.scss */
.breath-label__in,
.breath-label__out {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  white-space: nowrap;
}

/* line 513, app/assets/stylesheets/application.scss */
.breath-frame.is-breathing .breath-label__in {
  animation: breathLabelIn var(--breath-label-fade-in) ease forwards var(--breath-label-delay), breathLabelOut var(--breath-crossfade-duration) ease forwards var(--breath-crossfade-at);
}

/* line 519, app/assets/stylesheets/application.scss */
.breath-frame.is-breathing .breath-label__out {
  animation: breathLabelIn var(--breath-crossfade-duration) ease forwards var(--breath-crossfade-at), breathLabelOut var(--breath-out-label-fade-out) ease forwards var(--breath-out-label-fade-out-at);
}

@media (prefers-reduced-motion: reduce) {
  /* line 526, app/assets/stylesheets/application.scss */
  .breath-top, .breath-center, .breath-bottom {
    animation: none !important;
    opacity: 1 !important;
  }
  /* line 527, app/assets/stylesheets/application.scss */
  .breath-overlay, .breath-label {
    display: none !important;
  }
}

/* ---------- Long stage (“welcome2”) ---------- */
/* line 531, app/assets/stylesheets/application.scss */
.long-stage {
  background: var(--bg);
  color: #e6e6e6;
}

/* ------------------------------------------------------------
 * Landing page
 * ------------------------------------------------------------ */
/* line 537, app/assets/stylesheets/application.scss */
.landing {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(24px, 5vw, 72px);
  padding-top: calc(env(safe-area-inset-top, 0px) + clamp(24px, 5vw, 72px));
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(24px, 5vw, 72px));
  background: radial-gradient(900px 520px at 18% 28%, rgba(228, 116, 172, 0.18), transparent 62%), radial-gradient(980px 560px at 70% 24%, rgba(132, 148, 204, 0.18), transparent 62%), radial-gradient(860px 520px at 86% 78%, rgba(212, 220, 36, 0.14), transparent 60%), radial-gradient(980px 560px at 38% 86%, rgba(108, 100, 172, 0.16), transparent 62%), linear-gradient(180deg, var(--ssj-edge-bg) 0%, var(--ssj-page-bg) 55%, var(--ssj-edge-bg) 100%);
}

/* line 553, app/assets/stylesheets/application.scss */
.landing-inner {
  width: 100%;
  max-width: 560px;
  text-align: center;
  /* keep logo centered even with fixed bottom button */
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 140px);
}

/* line 561, app/assets/stylesheets/application.scss */
.landing-logo {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  margin: 0 auto 22px;
}

/* line 569, app/assets/stylesheets/application.scss */
.landing-kicker {
  margin-top: -10px;
  margin-bottom: 14px;
  font-size: clamp(14px, 2.4vw, 18px);
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ssj-page-text-subtle);
}

/* line 579, app/assets/stylesheets/application.scss */
.landing-actions {
  position: fixed;
  left: 0;
  right: 0;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 50px);
  display: flex;
  justify-content: center;
  padding: 0 18px;
  z-index: 10;
}

/* line 590, app/assets/stylesheets/application.scss */
.ssj-btn {
  appearance: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1;
  transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease;
  user-select: none;
}

/* line 607, app/assets/stylesheets/application.scss */
.ssj-btn--google {
  color: var(--ssj-page-text);
  background: var(--ssj-cta-bg);
  border: 1px solid var(--ssj-cta-border);
  box-shadow: var(--ssj-cta-shadow);
}

/* line 614, app/assets/stylesheets/application.scss */
.ssj-btn--google:hover {
  transform: translateY(-1px);
  filter: brightness(1.02);
}

/* line 615, app/assets/stylesheets/application.scss */
.ssj-btn--google:active {
  transform: translateY(0);
}

/* line 616, app/assets/stylesheets/application.scss */
.ssj-btn:focus-visible {
  outline: 2px solid rgba(204, 212, 236, 0.45);
  outline-offset: 4px;
}

/* line 618, app/assets/stylesheets/application.scss */
.ssj-btn__icon {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 700;
  background: rgba(252, 252, 252, 0.12);
  border: 1px solid rgba(252, 252, 252, 0.18);
  color: var(--ssj-page-text);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

/* ------------------------------------------------------------
 * Internal placeholder page
 * ------------------------------------------------------------ */
/* line 635, app/assets/stylesheets/application.scss */
.internal {
  min-height: 100vh;
  min-height: 100svh;
  --ssj-flash-top: calc(env(safe-area-inset-top, 0px) + 12px);
  background: radial-gradient(1000px 620px at 22% 10%, rgba(164, 156, 204, 0.18), transparent 62%), radial-gradient(900px 520px at 86% 18%, rgba(204, 212, 236, 0.16), transparent 62%), linear-gradient(180deg, var(--ssj-edge-bg) 0%, var(--ssj-page-bg) 55%, var(--ssj-edge-bg) 100%);
}

/* line 645, app/assets/stylesheets/application.scss */
.ssj-navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid var(--ssj-hairline);
  background: var(--ssj-nav-bg);
  backdrop-filter: blur(10px);
}

/* line 654, app/assets/stylesheets/application.scss */
.ssj-navbar__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* line 664, app/assets/stylesheets/application.scss */
.ssj-navbar__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 670, app/assets/stylesheets/application.scss */
.ssj-navRight {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 676, app/assets/stylesheets/application.scss */
.ssj-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--ssj-page-text);
}

/* line 684, app/assets/stylesheets/application.scss */
.ssj-brand__logo {
  width: 34px;
  height: 34px;
  display: block;
}

/* line 686, app/assets/stylesheets/application.scss */
.ssj-brand__text {
  font-size: clamp(24px, 2.6vw, 32px);
  /* responsive */
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ssj-page-text);
  white-space: nowrap;
}

/* line 694, app/assets/stylesheets/application.scss */
.ssj-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* line 696, app/assets/stylesheets/application.scss */
.ssj-navMobile {
  display: none;
  /* mobile only */
  margin: 0;
  padding: 0;
  border: 0;
}

/* line 703, app/assets/stylesheets/application.scss */
.ssj-navMobile__toggle {
  list-style: none;
  user-select: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: clamp(36px, 5.2vw, 44px);
  padding: 0 clamp(12px, 2.6vw, 16px);
  border-radius: 999px;
  border: 1px solid var(--ssj-control-border);
  background: transparent;
  color: var(--ssj-control-fg);
  font-size: clamp(14px, 2.8vw, 22px);
  font-weight: 500;
  cursor: pointer;
}

/* line 720, app/assets/stylesheets/application.scss */
.ssj-navMobile__toggle::-webkit-details-marker {
  display: none;
}

/* line 722, app/assets/stylesheets/application.scss */
.ssj-navMobile__toggle:hover {
  background: var(--ssj-control-hover-bg);
  border-color: var(--ssj-control-hover-border);
  color: var(--ssj-page-text);
}

/* line 728, app/assets/stylesheets/application.scss */
.ssj-navMobile__toggleIcon {
  font-size: 18px;
  line-height: 1;
}

/* line 730, app/assets/stylesheets/application.scss */
.ssj-navMobile__items {
  display: none;
}

/* line 734, app/assets/stylesheets/application.scss */
.ssj-navMobile[open] .ssj-navMobile__items {
  display: flex;
}

/* line 736, app/assets/stylesheets/application.scss */
.ssj-dropdown {
  position: relative;
}

/* line 738, app/assets/stylesheets/application.scss */
.ssj-dropdown > summary::-webkit-details-marker {
  display: none;
}

/* line 740, app/assets/stylesheets/application.scss */
.ssj-dropdown__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 240px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid var(--ssj-popover-border);
  background: var(--ssj-popover-bg);
  backdrop-filter: blur(10px);
  display: none;
  grid-template-columns: 1fr;
  gap: 8px;
  z-index: 1100;
}

/* line 756, app/assets/stylesheets/application.scss */
.ssj-dropdown[open] .ssj-dropdown__menu {
  display: grid;
}

/* line 758, app/assets/stylesheets/application.scss */
.ssj-nav__form {
  display: inline;
  margin: 0;
}

/* line 760, app/assets/stylesheets/application.scss */
.ssj-nav__link {
  display: inline-flex;
  align-items: center;
  height: clamp(36px, 5.2vw, 44px);
  padding: 0 clamp(12px, 2.6vw, 16px);
  border-radius: 999px;
  border: 1px solid var(--ssj-control-border);
  text-decoration: none;
  color: var(--ssj-control-fg);
  font-size: clamp(14px, 2.8vw, 22px);
  /* responsive */
  font-weight: 500;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

/* line 774, app/assets/stylesheets/application.scss */
.ssj-nav__link,
button.ssj-nav__link {
  background: transparent;
  cursor: pointer;
  appearance: none;
}

/* line 781, app/assets/stylesheets/application.scss */
.ssj-nav__link--signout {
  padding: 0 clamp(12px, 2.6vw, 16px);
  gap: 8px;
  border-color: rgba(236, 172, 204, 0.18);
}

/* line 787, app/assets/stylesheets/application.scss */
.ssj-nav__link--theme {
  padding: 0 clamp(12px, 2.6vw, 16px);
}

/* line 791, app/assets/stylesheets/application.scss */
.ssj-nav__icon {
  display: block;
  font-size: 18px;
  line-height: 1;
}

/* line 797, app/assets/stylesheets/application.scss */
.ssj-nav__link:hover {
  transform: translateY(-1px);
  background: var(--ssj-control-hover-bg);
  border-color: var(--ssj-control-hover-border);
  color: var(--ssj-page-text);
}

/* line 804, app/assets/stylesheets/application.scss */
.ssj-nav__link:active {
  transform: translateY(0);
}

/* line 806, app/assets/stylesheets/application.scss */
.internal-body {
  padding: 40px 18px 80px;
}

/* line 808, app/assets/stylesheets/application.scss */
.internal-body__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 26px;
  border-radius: 22px;
  background: var(--ssj-surface-bg);
  border: 1px solid var(--ssj-surface-border);
  box-shadow: var(--ssj-shadow-lg);
}

/* ------------------------------------------------------------
 * Internal UI building blocks (theme-aware)
 * ------------------------------------------------------------ */
/* line 822, app/assets/stylesheets/application.scss */
.ssj-headerRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 830, app/assets/stylesheets/application.scss */
.ssj-card {
  border-radius: 18px;
  border: 1px solid var(--ssj-surface-border);
  background: var(--ssj-surface-bg-2);
}

/* line 835, app/assets/stylesheets/application.scss */
.ssj-card--padded {
  padding: 18px;
}

/* line 836, app/assets/stylesheets/application.scss */
.ssj-card--paddedSm {
  padding: 14px;
}

/* line 837, app/assets/stylesheets/application.scss */
.ssj-stack {
  display: grid;
  gap: 14px;
}

/* line 838, app/assets/stylesheets/application.scss */
.ssj-actionsRow {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* line 839, app/assets/stylesheets/application.scss */
.ssj-inlineRow {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* line 841, app/assets/stylesheets/application.scss */
.ssj-kicker {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ssj-page-text-subtle);
  margin-bottom: 8px;
}

/* line 849, app/assets/stylesheets/application.scss */
.ssj-muted {
  color: var(--ssj-page-text-muted);
}

/* line 850, app/assets/stylesheets/application.scss */
.ssj-subtle {
  color: var(--ssj-page-text-subtle);
}

/* line 851, app/assets/stylesheets/application.scss */
.ssj-strong {
  font-weight: 500;
}

/* line 853, app/assets/stylesheets/application.scss */
.ssj-input {
  width: 100%;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--ssj-control-border);
  background: var(--ssj-input-bg);
  color: var(--ssj-input-fg);
  padding: 0 12px;
  appearance: none;
  -webkit-appearance: none;
}

/* line 864, app/assets/stylesheets/application.scss */
.ssj-textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--ssj-control-border);
  background: var(--ssj-input-bg);
  color: var(--ssj-input-fg);
  padding: 10px 12px;
  appearance: none;
  -webkit-appearance: none;
}

/* line 874, app/assets/stylesheets/application.scss */
.ssj-input::placeholder,
.ssj-textarea::placeholder {
  color: var(--ssj-input-placeholder);
}

/* line 877, app/assets/stylesheets/application.scss */
.ssj-label {
  display: block;
  margin-bottom: 6px;
  color: var(--ssj-control-fg);
}

/* ------------------------------------------------------------
 * Video recording page (theme-aware)
 * ------------------------------------------------------------ */
/* line 887, app/assets/stylesheets/application.scss */
.video-question__note {
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--ssj-surface-border);
  background: var(--ssj-surface-bg-2);
  color: var(--ssj-page-text);
}

/* line 896, app/assets/stylesheets/application.scss */
.video-recordingCard {
  margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--ssj-surface-border);
  background: var(--ssj-surface-bg);
}

/* line 904, app/assets/stylesheets/application.scss */
.video-recordingCard__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--ssj-page-text-muted);
  font-size: 14px;
}

/* line 914, app/assets/stylesheets/application.scss */
.video-recordingCard__pill,
.video-recordingCard__timer {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid var(--ssj-control-border);
  background: var(--ssj-surface-bg-2);
  color: var(--ssj-page-text);
}

/* line 924, app/assets/stylesheets/application.scss */
.video-recordingCard__pill {
  padding: 2px 8px;
  margin-right: 8px;
}

/* line 926, app/assets/stylesheets/application.scss */
.video-recordingCard__preview {
  border-radius: 16px;
  overflow: hidden;
  background: var(--ssj-edge-bg);
  border: 1px solid var(--ssj-control-border);
  box-shadow: var(--ssj-shadow-lg);
}

/* line 934, app/assets/stylesheets/application.scss */
.video-recordingCard__previewInner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

/* line 940, app/assets/stylesheets/application.scss */
.video-recordingCard__previewVideo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 948, app/assets/stylesheets/application.scss */
.video-recordingCard__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* line 955, app/assets/stylesheets/application.scss */
.video-recordingCard__btn {
  height: 48px;
  padding: 0 18px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  border: 1px solid transparent;
  color: var(--ssj-page-text);
  background: var(--ssj-control-bg);
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

/* line 968, app/assets/stylesheets/application.scss */
.video-recordingCard__btn:hover {
  transform: translateY(-1px);
  background: var(--ssj-control-hover-bg);
  border-color: var(--ssj-control-hover-border);
}

/* line 974, app/assets/stylesheets/application.scss */
.video-recordingCard__btn--start {
  border-color: rgba(31, 122, 72, 0.65);
  background: rgba(31, 122, 72, 0.18);
  color: var(--ssj-page-text);
}

/* line 980, app/assets/stylesheets/application.scss */
body[data-theme="dark"] .video-recordingCard__btn--start {
  background: rgba(31, 122, 72, 0.4);
}

/* line 984, app/assets/stylesheets/application.scss */
.video-recordingCard__btn--screen {
  border-color: rgba(120, 146, 210, 0.55);
  background: rgba(120, 146, 210, 0.18);
}

/* line 989, app/assets/stylesheets/application.scss */
.video-recordingCard__btn--stop {
  border-color: rgba(180, 50, 50, 0.65);
  background: rgba(180, 50, 50, 0.18);
}

/* line 994, app/assets/stylesheets/application.scss */
.video-recordingCard__uploading {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ssj-page-text-muted);
}

/* line 1001, app/assets/stylesheets/application.scss */
.video-recordingCard__error {
  color: rgba(236, 172, 204, 0.95);
  white-space: pre-line;
}

/* line 1006, app/assets/stylesheets/application.scss */
.video-recordingCard__hint {
  color: var(--ssj-page-text-subtle);
  font-size: 13px;
}

/* line 1011, app/assets/stylesheets/application.scss */
.video-recordingCard__label {
  display: block;
  margin-bottom: 8px;
  color: var(--ssj-page-text);
  font-size: clamp(18px, 3.2vw, 22px);
  font-weight: 500;
}

/* line 1019, app/assets/stylesheets/application.scss */
.video-recordingCard__trix trix-editor {
  border-radius: 14px;
  padding: 12px 14px;
  font-size: clamp(16px, 3vw, 18px);
  line-height: 1.45;
}

/* Link defaults (avoid “dark-mode-only” inline styles) */
/* line 1027, app/assets/stylesheets/application.scss */
a {
  color: inherit;
  text-underline-offset: 0.18em;
}

/* line 1028, app/assets/stylesheets/application.scss */
a:hover {
  color: var(--ssj-page-text);
}

/* line 1030, app/assets/stylesheets/application.scss */
.ssj-tableWrap {
  border: 1px solid var(--ssj-surface-border);
  border-radius: 18px;
  overflow: hidden;
}

/* line 1035, app/assets/stylesheets/application.scss */
.ssj-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 1039, app/assets/stylesheets/application.scss */
.ssj-table thead tr {
  background: var(--ssj-table-head-bg);
}

/* line 1040, app/assets/stylesheets/application.scss */
.ssj-table th,
.ssj-table td {
  text-align: left;
  padding: 12px 14px;
}

/* line 1042, app/assets/stylesheets/application.scss */
.ssj-table th {
  font-weight: 500;
  color: var(--ssj-page-text);
}

/* line 1043, app/assets/stylesheets/application.scss */
.ssj-table td {
  color: var(--ssj-page-text);
}

/* line 1044, app/assets/stylesheets/application.scss */
.ssj-table tbody tr {
  border-top: 1px solid var(--ssj-table-row-border);
}

/* line 1045, app/assets/stylesheets/application.scss */
.ssj-table tbody tr:hover {
  background: var(--ssj-table-hover-bg);
}

/* line 1047, app/assets/stylesheets/application.scss */
.internal-title {
  margin: 0;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* line 1054, app/assets/stylesheets/application.scss */
.internal-copy {
  margin: 12px 0 0;
  color: var(--ssj-page-text-muted);
  font-size: clamp(13.5px, 2.7vw, 21px);
  /* 75% of previous responsive clamp */
  line-height: 1.55;
  font-weight: 300;
}

/* line 1062, app/assets/stylesheets/application.scss */
.internal-section-title {
  margin: 24px 0 0;
  font-size: clamp(18px, 2.6vw, 24px);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--ssj-page-text);
}

/* line 1070, app/assets/stylesheets/application.scss */
.tools-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

/* line 1077, app/assets/stylesheets/application.scss */
.tools-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 1081, app/assets/stylesheets/application.scss */
.tool-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid var(--ssj-surface-border);
  background: var(--ssj-surface-bg-2);
  text-decoration: none;
  color: var(--ssj-page-text);
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

/* line 1094, app/assets/stylesheets/application.scss */
.tool-card--row {
  justify-content: space-between;
}

/* line 1096, app/assets/stylesheets/application.scss */
.tool-card--stack {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

/* line 1102, app/assets/stylesheets/application.scss */
.tool-card__row {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 1108, app/assets/stylesheets/application.scss */
.tool-card__link {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ssj-page-text);
  text-decoration: none;
}

/* line 1116, app/assets/stylesheets/application.scss */
.tool-card__link--fill {
  flex: 1 1 auto;
  min-width: 0;
}

/* line 1117, app/assets/stylesheets/application.scss */
.tool-card__link:hover {
  color: var(--ssj-page-text);
}

/* line 1118, app/assets/stylesheets/application.scss */
.tool-card__link:visited {
  color: var(--ssj-page-text);
}

/* line 1120, app/assets/stylesheets/application.scss */
.tool-card__download {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  border: 1px solid var(--ssj-control-border);
  background: rgba(0, 0, 0, 0.35);
  color: var(--ssj-page-text);
  /* icon */
  text-decoration: none;
  flex: 0 0 auto;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

/* line 1134, app/assets/stylesheets/application.scss */
.tool-card__download:hover {
  transform: translateY(-1px);
  border-color: var(--ssj-control-hover-border);
  background: rgba(0, 0, 0, 0.55);
}

/* line 1140, app/assets/stylesheets/application.scss */
.tool-card__download:active {
  transform: translateY(0);
}

/* line 1141, app/assets/stylesheets/application.scss */
.tool-card__download:focus-visible {
  outline: 2px solid rgba(204, 212, 236, 0.45);
  outline-offset: 4px;
}

/* line 1143, app/assets/stylesheets/application.scss */
.tool-card:hover {
  transform: translateY(-1px);
  border-color: var(--ssj-control-hover-border);
  background: rgba(252, 252, 252, 0.05);
}

/* line 1149, app/assets/stylesheets/application.scss */
.tool-card:active {
  transform: translateY(0);
}

/* line 1150, app/assets/stylesheets/application.scss */
.tool-card:focus-visible {
  outline: 2px solid rgba(204, 212, 236, 0.45);
  outline-offset: 4px;
}

/* line 1152, app/assets/stylesheets/application.scss */
.tool-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(252, 252, 252, 0.08);
  border: 1px solid var(--ssj-popover-border);
  color: var(--ssj-page-text);
  flex: 0 0 auto;
}

/* line 1164, app/assets/stylesheets/application.scss */
.tool-icon {
  font-size: 18px;
  line-height: 1;
}

/* line 1169, app/assets/stylesheets/application.scss */
.tool-card__meta {
  min-width: 0;
}

/* line 1171, app/assets/stylesheets/application.scss */
.tool-card__name {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* line 1177, app/assets/stylesheets/application.scss */
.tool-card__note {
  margin-top: 2px;
  font-size: 13px;
  color: var(--ssj-page-text-subtle);
  font-weight: 300;
}

/* line 1184, app/assets/stylesheets/application.scss */
.tool-search {
  margin: 0;
  margin-top: auto;
  /* push to bottom of stacked card */
}

/* line 1189, app/assets/stylesheets/application.scss */
.tool-search__input {
  display: block;
  width: 100%;
  max-width: 320px;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--ssj-surface-border);
  background: var(--ssj-input-bg);
  color: var(--ssj-input-fg);
  font-size: 14px;
  margin: 0 auto;
  /* centered at bottom */
  appearance: none;
  -webkit-appearance: none;
}

/* line 1205, app/assets/stylesheets/application.scss */
.tool-search__input::placeholder {
  color: var(--ssj-input-placeholder);
}

/* line 1206, app/assets/stylesheets/application.scss */
.tool-search__input:focus {
  outline: none;
}

/* line 1207, app/assets/stylesheets/application.scss */
.tool-search__input:focus-visible {
  outline: 2px solid rgba(204, 212, 236, 0.45);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  /* line 1210, app/assets/stylesheets/application.scss */
  .ssj-navbar__inner {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  /* line 1211, app/assets/stylesheets/application.scss */
  .ssj-nav {
    display: none;
  }
  /* line 1212, app/assets/stylesheets/application.scss */
  .ssj-navbar__actions {
    margin-left: auto;
  }
  /* line 1213, app/assets/stylesheets/application.scss */
  .ssj-navMobile {
    display: block;
    width: auto;
    position: relative;
  }
  /* Popover menu so it doesn't consume vertical space */
  /* line 1216, app/assets/stylesheets/application.scss */
  .ssj-navMobile__items {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: 86vw;
    max-width: 320px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid var(--ssj-popover-border);
    background: var(--ssj-popover-bg);
    backdrop-filter: blur(10px);
    display: none;
    flex-direction: column;
    gap: 10px;
    z-index: 1100;
  }
  /* line 1233, app/assets/stylesheets/application.scss */
  .ssj-navMobile[open] .ssj-navMobile__items {
    display: flex;
  }
  /* line 1235, app/assets/stylesheets/application.scss */
  .ssj-navMobile__items .ssj-nav__link {
    justify-content: flex-start;
    width: 100%;
  }
  /* line 1240, app/assets/stylesheets/application.scss */
  .ssj-dropdown__menu {
    position: static;
    min-width: 0;
    padding: 8px 0 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
  }
  /* line 1248, app/assets/stylesheets/application.scss */
  .ssj-brand__text {
    white-space: normal;
  }
  /* line 1249, app/assets/stylesheets/application.scss */
  .ssj-brand__text {
    font-size: clamp(22px, 2.3vw, 30px);
  }
  /* line 1250, app/assets/stylesheets/application.scss */
  .internal-body {
    padding-top: 24px;
  }
  /* line 1251, app/assets/stylesheets/application.scss */
  .internal-body__inner {
    padding: 22px;
  }
  /* line 1252, app/assets/stylesheets/application.scss */
  .tools-grid--two {
    grid-template-columns: 1fr;
  }
}

/* line 1254, app/assets/stylesheets/application.scss */
.sj-page {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  scroll-snap-type: y mandatory;
  overflow-y: auto;
  height: 100vh;
  height: 100svh;
}

/* line 1265, app/assets/stylesheets/application.scss */
.sj-hero,
.sj-section {
  scroll-snap-align: start;
  scroll-margin-top: 0;
}

/* line 1271, app/assets/stylesheets/application.scss */
.sj-hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7vh 20px;
}

/* line 1279, app/assets/stylesheets/application.scss */
.sj-hero__inner {
  width: 100%;
  max-width: 780px;
  text-align: center;
  transform: translateY(-3vh);
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 1.3x the old ~18px spacing */
  --sj-hero-gap: 24px;
  gap: var(--sj-hero-gap);
}

/* line 1292, app/assets/stylesheets/application.scss */
.sj-wordmark {
  font-size: clamp(34px, 5vw, 56px);
  letter-spacing: 0.03em;
  font-weight: 300;
  margin: 0;
}

/* line 1299, app/assets/stylesheets/application.scss */
.sj-line {
  font-size: clamp(22px, 3vw, 30px);
  letter-spacing: 0.01em;
  font-weight: 300;
  margin: 0;
  opacity: 0;
  animation: sjFadeIn 2.4s cubic-bezier(0.2, 0, 0, 1) forwards;
}

/* line 1308, app/assets/stylesheets/application.scss */
.sj-line--one {
  animation-delay: 3.6s;
}

/* line 1309, app/assets/stylesheets/application.scss */
.sj-line--two {
  animation-delay: 6.4s;
}

/* line 1311, app/assets/stylesheets/application.scss */
.sj-wordmark,
.sj-line {
  opacity: 0;
}

/* line 1314, app/assets/stylesheets/application.scss */
.sj-wordmark {
  animation: sjFadeIn 2.4s cubic-bezier(0.2, 0, 0, 1) forwards;
  animation-delay: 0.8s;
}

@keyframes sjFadeIn {
  to {
    opacity: 1;
  }
}

/* line 1321, app/assets/stylesheets/application.scss */
.sj-scrollhint {
  width: 56px;
  height: 56px;
  margin: var(--sj-hero-gap) auto 0;
  border: 1px solid rgba(230, 230, 230, 0.14);
  border-radius: 999px;
  background: transparent;
  /* button reset: avoid default gray/white fill */
  padding: 0;
  appearance: none;
  display: grid;
  place-items: center;
  color: rgba(230, 230, 230, 0.72);
  opacity: 0;
  animation: sjFadeIn 2.4s cubic-bezier(0.2, 0, 0, 1) forwards;
  animation-delay: 9.2s;
  cursor: pointer;
  user-select: none;
}

/* line 1340, app/assets/stylesheets/application.scss */
.sj-scrollhint:focus-visible {
  outline: 2px solid rgba(230, 230, 230, 0.35);
  outline-offset: 3px;
}

/* line 1345, app/assets/stylesheets/application.scss */
.sj-scrollhint::before {
  content: "";
  width: 16px;
  height: 16px;
  border-right: 2px solid rgba(230, 230, 230, 0.72);
  border-bottom: 2px solid rgba(230, 230, 230, 0.72);
  transform: rotate(45deg);
  margin-top: -2px;
}

/* line 1355, app/assets/stylesheets/application.scss */
.sj-content {
  padding: 0 20px 96px;
}

/* line 1357, app/assets/stylesheets/application.scss */
.sj-section {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  padding: 56px 0;
  border-top: 1px solid rgba(230, 230, 230, 0.14);
}

/* line 1365, app/assets/stylesheets/application.scss */
.sj-section:first-child {
  border-top: 0;
  padding-top: 12px;
}

/* line 1367, app/assets/stylesheets/application.scss */
.sj-prose {
  font-size: 18px;
  line-height: 1.65;
  letter-spacing: 0.003em;
  color: rgba(230, 230, 230, 0.72);
  margin: 0;
}

/* line 1375, app/assets/stylesheets/application.scss */
.sj-prose strong {
  color: #e6e6e6;
  font-weight: 500;
}

/* line 1377, app/assets/stylesheets/application.scss */
.sj-questions {
  margin: 18px 0 0;
}

/* line 1379, app/assets/stylesheets/application.scss */
.sj-q {
  margin: 10px 0 0;
  font-size: 22px;
  line-height: 1.35;
  letter-spacing: 0.005em;
  color: #e6e6e6;
  font-weight: 300;
}

/* line 1388, app/assets/stylesheets/application.scss */
.sj-kicker {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(230, 230, 230, 0.72);
  margin: 0 0 14px;
}

/* line 1396, app/assets/stylesheets/application.scss */
.sj-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
}

/* line 1402, app/assets/stylesheets/application.scss */
.sj-list li {
  padding: 14px 0;
  border-top: 1px solid rgba(230, 230, 230, 0.14);
  color: rgba(230, 230, 230, 0.72);
  font-size: 18px;
  line-height: 1.6;
}

/* line 1410, app/assets/stylesheets/application.scss */
.sj-list li:first-child {
  border-top: 0;
  padding-top: 0;
}

/* line 1411, app/assets/stylesheets/application.scss */
.sj-list strong {
  color: #e6e6e6;
  font-weight: 500;
}

/* line 1413, app/assets/stylesheets/application.scss */
.sj-bridge {
  margin-top: 14px;
  padding-left: 16px;
  border-left: 1px solid rgba(230, 230, 230, 0.14);
}

/* line 1419, app/assets/stylesheets/application.scss */
.sj-bridge p {
  margin: 10px 0 0;
  color: rgba(230, 230, 230, 0.72);
  font-size: 18px;
  line-height: 1.65;
}

/* line 1426, app/assets/stylesheets/application.scss */
.sj-bridge p:first-child {
  margin-top: 0;
}

/* line 1428, app/assets/stylesheets/application.scss */
.sj-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

/* line 1435, app/assets/stylesheets/application.scss */
.sj-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid var(--ssj-control-border);
  color: var(--ssj-control-fg);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--ssj-control-bg);
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

/* line 1452, app/assets/stylesheets/application.scss */
.sj-btn:hover {
  transform: translateY(-1px);
  border-color: var(--ssj-control-hover-border);
  background: var(--ssj-control-hover-bg);
  color: var(--ssj-page-text);
}

/* line 1459, app/assets/stylesheets/application.scss */
.sj-btn:active {
  transform: translateY(0);
}

/* line 1461, app/assets/stylesheets/application.scss */
.sj-btn--primary {
  border-color: var(--ssj-control-hover-border);
  background: var(--ssj-control-hover-bg);
}

/* line 1466, app/assets/stylesheets/application.scss */
.sj-footnote {
  margin-top: 18px;
  color: rgba(230, 230, 230, 0.55);
  font-size: 14px;
  line-height: 1.6;
}

/* ------------------------------------------------------------
 * Video recording utility
 * ------------------------------------------------------------ */
/* line 1477, app/assets/stylesheets/application.scss */
.ssj-spinner {
  width: 18px;
  height: 18px;
  display: inline-block;
  border-radius: 999px;
  border: 2px solid rgba(204, 212, 236, 0.28);
  border-top-color: rgba(252, 252, 252, 0.85);
  animation: ssjSpin 0.8s linear infinite;
}

@keyframes ssjSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 1490, app/assets/stylesheets/application.scss */
  .sj-wordmark, .sj-line, .sj-scrollhint {
    animation: none !important;
    opacity: 1 !important;
  }
  /* line 1491, app/assets/stylesheets/application.scss */
  .sj-btn {
    transition: none;
  }
}

/* ------------------------------------------------------------
 * Client portal
 * ------------------------------------------------------------ */
/* line 1498, app/assets/stylesheets/application.scss */
.client-portal {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(24px, 5vw, 72px);
  padding-top: calc(env(safe-area-inset-top, 0px) + clamp(24px, 5vw, 72px));
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(24px, 5vw, 72px));
  background: radial-gradient(900px 520px at 18% 28%, rgba(228, 116, 172, 0.16), transparent 62%), radial-gradient(980px 560px at 70% 24%, rgba(132, 148, 204, 0.16), transparent 62%), radial-gradient(860px 520px at 86% 78%, rgba(212, 220, 36, 0.12), transparent 60%), radial-gradient(980px 560px at 38% 86%, rgba(108, 100, 172, 0.14), transparent 62%), linear-gradient(180deg, var(--ssj-edge-bg) 0%, var(--ssj-page-bg) 55%, var(--ssj-edge-bg) 100%);
}

/* line 1514, app/assets/stylesheets/application.scss */
.client-portal__inner {
  width: 100%;
  max-width: 620px;
  text-align: center;
}

/* line 1520, app/assets/stylesheets/application.scss */
.client-kicker {
  margin-top: -10px;
  margin-bottom: 14px;
  font-size: clamp(14px, 2.4vw, 18px);
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ssj-page-text-subtle);
}

/* line 1530, app/assets/stylesheets/application.scss */
.client-card {
  text-align: left;
  padding: 24px;
  border-radius: 22px;
  border: 1px solid var(--ssj-surface-border);
  background: var(--ssj-surface-bg);
  box-shadow: var(--ssj-shadow-lg);
}

/* line 1539, app/assets/stylesheets/application.scss */
.client-title {
  margin: 0 0 8px;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 500;
}

/* line 1545, app/assets/stylesheets/application.scss */
.client-copy {
  margin: 0 0 16px;
  color: var(--ssj-page-text-muted);
  font-size: 15px;
  line-height: 1.5;
}

/* line 1552, app/assets/stylesheets/application.scss */
.client-subtle {
  color: var(--ssj-page-text-subtle);
  font-size: 13px;
}

/* line 1557, app/assets/stylesheets/application.scss */
.client-alert {
  margin: 0 0 16px;
  color: var(--ssj-page-text);
  background: var(--ssj-surface-bg-2);
  border: 1px solid var(--ssj-surface-border);
  border-radius: 12px;
  padding: 12px 14px;
}

/* line 1566, app/assets/stylesheets/application.scss */
.client-stack {
  display: grid;
  gap: 12px;
}

/* line 1571, app/assets/stylesheets/application.scss */
.client-status {
  min-height: 18px;
  color: var(--ssj-page-text-subtle);
  font-size: 13px;
}

/* line 1577, app/assets/stylesheets/application.scss */
.client-error {
  min-height: 18px;
  color: rgba(236, 172, 204, 0.95);
  font-size: 13px;
}

/* line 1583, app/assets/stylesheets/application.scss */
.client-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  color: var(--ssj-page-text-subtle);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* line 1594, app/assets/stylesheets/application.scss */
.client-divider::before,
.client-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--ssj-hairline);
}

/* line 1602, app/assets/stylesheets/application.scss */
.client-recovery {
  margin-top: 16px;
}

/* line 1606, app/assets/stylesheets/application.scss */
.client-recovery__toggle {
  cursor: pointer;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--ssj-page-text-subtle);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  list-style: none;
}

/* line 1616, app/assets/stylesheets/application.scss */
.client-recovery__toggle::-webkit-details-marker {
  display: none;
}

/* line 1620, app/assets/stylesheets/application.scss */
.client-recovery[open] .client-recovery__toggle {
  color: var(--ssj-page-text-muted);
}

/* line 1624, app/assets/stylesheets/application.scss */
.client-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid var(--ssj-control-border);
  color: var(--ssj-control-fg);
  background: var(--ssj-control-bg);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  cursor: pointer;
}

/* line 1642, app/assets/stylesheets/application.scss */
.client-btn:hover {
  transform: translateY(-1px);
  border-color: var(--ssj-control-hover-border);
  background: var(--ssj-control-hover-bg);
  color: var(--ssj-page-text);
}

/* line 1649, app/assets/stylesheets/application.scss */
.client-btn:active {
  transform: translateY(0);
}

/* line 1651, app/assets/stylesheets/application.scss */
.client-btn--primary {
  background: var(--ssj-cta-bg);
  border-color: var(--ssj-cta-border);
  box-shadow: var(--ssj-cta-shadow);
}

/* line 1657, app/assets/stylesheets/application.scss */
.client-codes {
  list-style: none;
  padding: 0;
  margin: 12px 0 18px;
  display: grid;
  gap: 10px;
}

/* line 1665, app/assets/stylesheets/application.scss */
.client-code {
  border-radius: 12px;
  border: 1px solid var(--ssj-control-border);
  background: var(--ssj-surface-bg-2);
  padding: 10px 12px;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
