/* [project]/web/src/components/row-menu.module.css [app-client] (css) */
.row-menu-module__dj9S6a__trigger {
  width: 32px;
  height: 32px;
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  transition: background .15s, color .15s;
  display: flex;
}

.row-menu-module__dj9S6a__trigger:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

.row-menu-module__dj9S6a__trigger svg {
  flex-shrink: 0;
}

.row-menu-module__dj9S6a__menu {
  background: var(--bg-input);
  border: 1px solid var(--border);
  z-index: 100;
  border-radius: 10px;
  flex-direction: column;
  gap: 2px;
  min-width: 200px;
  padding: 6px;
  display: flex;
  position: fixed;
  box-shadow: 0 12px 40px #0000001a;
}

:is(.row-menu-module__dj9S6a__menu a, .row-menu-module__dj9S6a__menu button) {
  width: 100%;
  font: inherit;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  font-size: 13px;
  text-decoration: none;
  transition: background .15s;
  display: flex;
}

:is(.row-menu-module__dj9S6a__menu a:hover, .row-menu-module__dj9S6a__menu button:hover) {
  background: var(--bg-subtle);
}

.row-menu-module__dj9S6a__menu svg {
  color: var(--text-muted);
  flex-shrink: 0;
}

.row-menu-module__dj9S6a__danger, .row-menu-module__dj9S6a__danger:hover, .row-menu-module__dj9S6a__danger svg {
  color: var(--color-error);
}

/* [project]/web/src/components/game-frame.module.css [app-client] (css) */
.game-frame-module__N7P9ka__iframe {
  background: var(--bg-subtle);
  border: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.game-frame-module__N7P9ka__bootPlaceholder {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 14px;
  display: flex;
  position: absolute;
  inset: 0;
}

.game-frame-module__N7P9ka__bootRail {
  background: var(--border);
  border-radius: 1px;
  width: 132px;
  height: 2px;
  position: relative;
  overflow: hidden;
}

.game-frame-module__N7P9ka__bootRail:after {
  content: "";
  background: var(--accent);
  border-radius: 1px;
  width: 40%;
  animation: 1s cubic-bezier(.45, 0, .55, 1) infinite alternate game-frame-module__N7P9ka__boot-slide;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

@keyframes game-frame-module__N7P9ka__boot-slide {
  from {
    transform: translateX(-20%);
  }

  to {
    transform: translateX(170%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .game-frame-module__N7P9ka__bootRail:after {
    width: 100%;
    animation: 1.2s ease-in-out infinite game-frame-module__N7P9ka__boot-pulse;
  }
}

@keyframes game-frame-module__N7P9ka__boot-pulse {
  0%, 100% {
    opacity: .25;
  }

  50% {
    opacity: 1;
  }
}

.game-frame-module__N7P9ka__bootLabel {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-size: 11px;
}

/* [project]/web/src/components/studio/onboarding.module.css [app-client] (css) */
.onboarding-module__MQgQBa__onboard {
  text-align: center;
  -webkit-overflow-scrolling: touch;
  padding: 24px 22px max(calc(24px + env(safe-area-inset-bottom, 0px)), calc(24px + var(--keyboard-inset, 0px)));
  background: radial-gradient(120% 80% at 50% 0%, var(--accent-subtle), var(--bg) 65%);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
  overflow-y: auto;
}

.onboarding-module__MQgQBa__spark {
  color: var(--accent);
  margin-bottom: 8px;
}

.onboarding-module__MQgQBa__title {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  max-width: 14ch;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.12;
}

.onboarding-module__MQgQBa__lede {
  color: var(--text-muted);
  max-width: 32ch;
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.5;
}

.onboarding-module__MQgQBa__promptWrap {
  width: 100%;
  max-width: 460px;
  margin-top: 22px;
}

.onboarding-module__MQgQBa__input {
  resize: none;
  width: 100%;
  font: inherit;
  border: 1px solid var(--border);
  background: var(--bg-input);
  min-height: 96px;
  color: var(--text);
  border-radius: 16px;
  padding: 16px;
  font-size: 16px;
  line-height: 1.45;
  box-shadow: 0 10px 30px -18px #1a161466;
}

.onboarding-module__MQgQBa__input:focus {
  border-color: var(--accent);
  outline: none;
}

.onboarding-module__MQgQBa__go {
  background: var(--accent);
  width: 100%;
  color: var(--text-on-accent);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  transition: background .15s;
  display: flex;
}

.onboarding-module__MQgQBa__go:hover:not(:disabled) {
  background: var(--accent-hover);
}

.onboarding-module__MQgQBa__go:disabled {
  opacity: .5;
  cursor: default;
}

.onboarding-module__MQgQBa__chips {
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.onboarding-module__MQgQBa__chip {
  border: 1px solid var(--border);
  background: var(--bg-input);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 13.5px;
  transition: border-color .15s, color .15s;
}

.onboarding-module__MQgQBa__chip:hover {
  border-color: var(--accent);
  color: var(--accent);
}

/* [project]/web/src/components/studio/reconcile-banner.module.css [app-client] (css) */
.reconcile-banner-module__r9n27q__banner {
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  flex: none;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  display: flex;
}

.reconcile-banner-module__r9n27q__icon {
  color: var(--color-warning);
  flex: none;
  display: inline-flex;
}

.reconcile-banner-module__r9n27q__body {
  flex: auto;
  min-width: 0;
}

.reconcile-banner-module__r9n27q__title {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
}

.reconcile-banner-module__r9n27q__detail {
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.4;
}

.reconcile-banner-module__r9n27q__actions {
  flex-wrap: wrap;
  flex: none;
  gap: 8px;
  display: flex;
}

.reconcile-banner-module__r9n27q__primary, .reconcile-banner-module__r9n27q__warning {
  white-space: nowrap;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.reconcile-banner-module__r9n27q__primary {
  background: var(--accent);
  color: var(--text-on-accent);
}

.reconcile-banner-module__r9n27q__primary:hover:not(:disabled) {
  background: var(--accent-hover);
}

.reconcile-banner-module__r9n27q__warning {
  background: var(--bg-tint-warning);
  color: var(--color-warning);
  border: 1px solid var(--color-warning);
}

.reconcile-banner-module__r9n27q__warning:hover:not(:disabled) {
  background: var(--color-warning);
  color: var(--text-on-accent);
}

@media (max-width: 560px) {
  .reconcile-banner-module__r9n27q__banner {
    flex-wrap: wrap;
  }

  .reconcile-banner-module__r9n27q__actions {
    flex: 100%;
  }
}

/* [project]/web/src/components/studio/meta-bar.module.css [app-client] (css) */
.meta-bar-module__qNTLLW__metabar {
  height: calc(var(--bar-h)  + env(safe-area-inset-top, 0px));
  padding: env(safe-area-inset-top, 0px) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));
  background: color-mix(in srgb, var(--bg) 86%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
  border-bottom: 1px solid var(--border);
  z-index: 30;
  flex: none;
  align-items: center;
  gap: 6px;
  display: flex;
}

.meta-bar-module__qNTLLW__logo {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  white-space: nowrap;
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
}

.meta-bar-module__qNTLLW__accent {
  color: var(--accent);
}

.meta-bar-module__qNTLLW__spacer {
  flex: 1;
}

.meta-bar-module__qNTLLW__credits {
  color: var(--text-muted);
  background: var(--bg-subtle);
  cursor: pointer;
  border: none;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.meta-bar-module__qNTLLW__credits:hover {
  background: var(--border);
}

.meta-bar-module__qNTLLW__limitProgress {
  color: var(--text);
}

.meta-bar-module__qNTLLW__limitExhausted {
  color: var(--accent-hover);
}

.meta-bar-module__qNTLLW__balanceCaveat {
  color: var(--text-dim);
  font-weight: 500;
}

.meta-bar-module__qNTLLW__iconbtn {
  width: 40px;
  height: 40px;
  color: var(--text);
  background: none;
  border-radius: 12px;
  place-items: center;
  padding: 0;
  transition: background .15s, transform .1s;
  display: grid;
}

.meta-bar-module__qNTLLW__iconbtn:hover {
  background: var(--bg-subtle);
}

.meta-bar-module__qNTLLW__iconbtn:active {
  transform: scale(.92);
}

.meta-bar-module__qNTLLW__iconbtn.meta-bar-module__qNTLLW__active {
  background: var(--bg-subtle);
}

.meta-bar-module__qNTLLW__iconbtn.meta-bar-module__qNTLLW__primary {
  background: var(--accent);
  color: var(--text-on-accent);
  box-shadow: 0 2px 10px -2px var(--accent);
}

.meta-bar-module__qNTLLW__iconbtn.meta-bar-module__qNTLLW__primary:hover, .meta-bar-module__qNTLLW__iconbtn.meta-bar-module__qNTLLW__primary:active {
  background: var(--accent-hover);
}

.meta-bar-module__qNTLLW__iconbtn.meta-bar-module__qNTLLW__primary.meta-bar-module__qNTLLW__active {
  background: var(--accent-hover);
  box-shadow: inset 0 1px 4px -1px #00000059;
}

/* [project]/web/src/components/studio/game-menu.module.css [app-client] (css) */
.game-menu-module__i_O0cG__backdrop {
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s var(--studio-ease);
  z-index: 25;
  background: #1a161452;
  position: absolute;
  inset: 0;
}

.game-menu-module__i_O0cG__backdrop.game-menu-module__i_O0cG__open {
  opacity: 1;
  pointer-events: auto;
}

.game-menu-module__i_O0cG__menu {
  background: var(--bg);
  border-left: 1px solid var(--border);
  width: min(86%, 360px);
  transition: transform .32s var(--studio-ease);
  z-index: 26;
  padding-top: env(safe-area-inset-top, 0px);
  flex-direction: column;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  box-shadow: -12px 0 40px -16px #1a161466;
}

.game-menu-module__i_O0cG__menu.game-menu-module__i_O0cG__open {
  transform: translateX(0);
}

.game-menu-module__i_O0cG__head {
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px 10px;
  display: flex;
}

.game-menu-module__i_O0cG__head h2 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
}

.game-menu-module__i_O0cG__close {
  width: 36px;
  height: 36px;
  color: var(--text-muted);
  background: none;
  border-radius: 10px;
  place-items: center;
  display: grid;
}

.game-menu-module__i_O0cG__close:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

.game-menu-module__i_O0cG__scroll {
  -webkit-overflow-scrolling: touch;
  padding: 4px 10px calc(20px + env(safe-area-inset-bottom, 0px));
  overflow-y: auto;
}

.game-menu-module__i_O0cG__section {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
  padding: 16px 12px 6px;
  font-size: 11px;
  font-weight: 600;
}

.game-menu-module__i_O0cG__item {
  text-align: left;
  width: 100%;
  color: var(--text);
  background: none;
  border-radius: 12px;
  align-items: center;
  gap: 13px;
  padding: 13px 12px;
  font-size: 15.5px;
  font-weight: 400;
  transition: background .12s;
  display: flex;
}

.game-menu-module__i_O0cG__item:hover {
  background: var(--bg-subtle);
}

.game-menu-module__i_O0cG__item:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.game-menu-module__i_O0cG__item:disabled:hover {
  background: none;
}

.game-menu-module__i_O0cG__gi {
  color: var(--text-muted);
  flex: none;
}

.game-menu-module__i_O0cG__danger, .game-menu-module__i_O0cG__danger .game-menu-module__i_O0cG__gi {
  color: var(--accent-hover);
}

.game-menu-module__i_O0cG__hint {
  color: var(--text-dim);
  align-items: center;
  gap: 4px;
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.game-menu-module__i_O0cG__divider {
  background: var(--border);
  height: 1px;
  margin: 8px 12px;
}

/* [project]/web/src/components/studio/spend-surface.module.css [app-client] (css) */
.spend-surface-module__gJajVq__backdrop {
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s var(--studio-ease);
  z-index: 27;
  background: #1a161452;
  position: absolute;
  inset: 0;
}

.spend-surface-module__gJajVq__backdrop.spend-surface-module__gJajVq__open {
  opacity: 1;
  pointer-events: auto;
}

.spend-surface-module__gJajVq__sheet {
  background: var(--bg);
  border-left: 1px solid var(--border);
  width: min(86%, 360px);
  transition: transform .32s var(--studio-ease);
  z-index: 28;
  padding-top: env(safe-area-inset-top, 0px);
  flex-direction: column;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  box-shadow: -12px 0 40px -16px #1a161466;
}

.spend-surface-module__gJajVq__sheet.spend-surface-module__gJajVq__open {
  transform: translateX(0);
}

.spend-surface-module__gJajVq__head {
  justify-content: space-between;
  align-items: center;
  padding: 16px 18px 10px;
  display: flex;
}

.spend-surface-module__gJajVq__head h2 {
  font-family: var(--font-display);
  align-items: center;
  gap: 9px;
  font-size: 20px;
  font-weight: 600;
  display: inline-flex;
}

.spend-surface-module__gJajVq__close {
  width: 36px;
  height: 36px;
  color: var(--text-muted);
  background: none;
  border-radius: 10px;
  place-items: center;
  display: grid;
}

.spend-surface-module__gJajVq__close:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

.spend-surface-module__gJajVq__scroll {
  -webkit-overflow-scrolling: touch;
  padding: 6px 18px calc(20px + env(safe-area-inset-bottom, 0px));
  flex-direction: column;
  gap: 14px;
  display: flex;
  overflow-y: auto;
}

.spend-surface-module__gJajVq__balanceRow {
  background: var(--bg-subtle);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  display: flex;
}

.spend-surface-module__gJajVq__balanceLabel {
  color: var(--text-muted);
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.spend-surface-module__gJajVq__balanceValue {
  color: var(--text);
  font-size: 16px;
  font-weight: 700;
}

.spend-surface-module__gJajVq__note {
  color: var(--text-dim);
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
}

.spend-surface-module__gJajVq__meter {
  border: 1px solid var(--border);
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  display: flex;
}

.spend-surface-module__gJajVq__meterHead {
  color: var(--text-muted);
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  display: flex;
}

.spend-surface-module__gJajVq__meterFigure {
  color: var(--text);
  font-weight: 700;
}

.spend-surface-module__gJajVq__bar {
  background: var(--bg-subtle);
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.spend-surface-module__gJajVq__barFill {
  background: var(--accent);
  border-radius: 999px;
  height: 100%;
  transition: width .3s;
}

.spend-surface-module__gJajVq__barExhausted {
  background: var(--danger, #d9534f);
}

.spend-surface-module__gJajVq__exhaustedNote {
  color: var(--accent-hover);
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
}

.spend-surface-module__gJajVq__toggleRow {
  color: var(--text);
  cursor: pointer;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  font-weight: 500;
  display: flex;
}

.spend-surface-module__gJajVq__toggleRow input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.spend-surface-module__gJajVq__limitField {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.spend-surface-module__gJajVq__fieldLabel {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-dim);
  font-size: 12px;
  font-weight: 600;
}

.spend-surface-module__gJajVq__input {
  border: 1px solid var(--border);
  background: var(--bg);
  width: 100%;
  color: var(--text);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 15px;
}

.spend-surface-module__gJajVq__input:focus {
  border-color: var(--accent);
  outline: none;
}

.spend-surface-module__gJajVq__primaryBtn {
  background: var(--accent);
  width: 100%;
  color: var(--text-on-accent);
  border-radius: 12px;
  padding: 11px 16px;
  font-size: 14.5px;
  font-weight: 600;
}

.spend-surface-module__gJajVq__primaryBtn:hover {
  background: var(--accent-hover);
}

.spend-surface-module__gJajVq__primaryBtn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.spend-surface-module__gJajVq__secondaryBtn {
  border: 1px solid var(--border);
  color: var(--text);
  background: none;
  border-radius: 10px;
  align-self: flex-start;
  padding: 8px 14px;
  font-size: 13.5px;
  font-weight: 500;
}

.spend-surface-module__gJajVq__secondaryBtn:hover {
  background: var(--bg-subtle);
}

.spend-surface-module__gJajVq__secondaryBtn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

/* [project]/web/src/components/modal.module.css [app-client] (css) */
.modal-module__2IaLnG__dialog {
  background: var(--bg);
  width: calc(100% - 32px);
  max-width: 480px;
  max-height: calc(100dvh - 32px);
  color: var(--text);
  border: none;
  border-radius: 12px;
  flex-direction: column;
  margin: auto;
  padding: 0;
  display: flex;
  overflow: hidden;
  box-shadow: 0 16px 48px #0003;
}

.modal-module__2IaLnG__dialog::backdrop {
  background: #00000080;
}

/* [project]/web/src/components/no-credits-modal.module.css [app-client] (css) */
.no-credits-modal-module__dt-BiG__content {
  text-align: center;
  padding: 24px;
}

.no-credits-modal-module__dt-BiG__heading {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
}

.no-credits-modal-module__dt-BiG__message {
  color: var(--text-muted);
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.5;
}

.no-credits-modal-module__dt-BiG__actions {
  justify-content: center;
  gap: 10px;
  display: flex;
}

.no-credits-modal-module__dt-BiG__buyButton {
  background: var(--accent);
  color: var(--text-on-accent);
  cursor: pointer;
  border: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: opacity .15s;
  display: inline-flex;
}

.no-credits-modal-module__dt-BiG__buyButton:hover {
  opacity: .85;
}

.no-credits-modal-module__dt-BiG__dismiss {
  border: 1px solid var(--border);
  background: var(--bg-subtle);
  color: var(--text);
  cursor: pointer;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s;
  display: inline-flex;
}

.no-credits-modal-module__dt-BiG__dismiss:hover {
  background: var(--border);
}

/* [project]/web/node_modules/katex/dist/katex.min.css [app-client] (css) */
@font-face {
  font-display: block;
  font-family: KaTeX_AMS;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_AMS-Regular.c30af439.woff2") format("woff2"), url("../media/KaTeX_AMS-Regular.e6a3cada.woff") format("woff"), url("../media/KaTeX_AMS-Regular.892f691b.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Caligraphic;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Caligraphic-Bold.db991531.woff2") format("woff2"), url("../media/KaTeX_Caligraphic-Bold.2f97783e.woff") format("woff"), url("../media/KaTeX_Caligraphic-Bold.a36b8125.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Caligraphic;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Caligraphic-Regular.c20eee08.woff2") format("woff2"), url("../media/KaTeX_Caligraphic-Regular.2b13f013.woff") format("woff"), url("../media/KaTeX_Caligraphic-Regular.7c50032c.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Fraktur;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Fraktur-Bold.d514bd28.woff2") format("woff2"), url("../media/KaTeX_Fraktur-Bold.5fa2f5e4.woff") format("woff"), url("../media/KaTeX_Fraktur-Bold.e311399d.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Fraktur;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Fraktur-Regular.5d62e468.woff2") format("woff2"), url("../media/KaTeX_Fraktur-Regular.18139813.woff") format("woff"), url("../media/KaTeX_Fraktur-Regular.2a73476d.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Main-Bold.f4e2828d.woff2") format("woff2"), url("../media/KaTeX_Main-Bold.c24b5ba7.woff") format("woff"), url("../media/KaTeX_Main-Bold.6d137c77.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: italic;
  font-weight: 700;
  src: url("../media/KaTeX_Main-BoldItalic.f1884480.woff2") format("woff2"), url("../media/KaTeX_Main-BoldItalic.079b33ae.woff") format("woff"), url("../media/KaTeX_Main-BoldItalic.c003d3ec.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_Main-Italic.a3746929.woff2") format("woff2"), url("../media/KaTeX_Main-Italic.26a3619b.woff") format("woff"), url("../media/KaTeX_Main-Italic.61da3e93.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Main-Regular.12644167.woff2") format("woff2"), url("../media/KaTeX_Main-Regular.d511f158.woff") format("woff"), url("../media/KaTeX_Main-Regular.876b86ad.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 700;
  src: url("../media/KaTeX_Math-BoldItalic.5c6a6a93.woff2") format("woff2"), url("../media/KaTeX_Math-BoldItalic.ad4dffd5.woff") format("woff"), url("../media/KaTeX_Math-BoldItalic.e73b3bf0.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_Math-Italic.d8564edb.woff2") format("woff2"), url("../media/KaTeX_Math-Italic.1cd2c488.woff") format("woff"), url("../media/KaTeX_Math-Italic.03974bc4.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_SansSerif;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_SansSerif-Bold.a03f9428.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Bold.ff51ef5c.woff") format("woff"), url("../media/KaTeX_SansSerif-Bold.d4608ed5.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_SansSerif;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_SansSerif-Italic.9245afda.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Italic.8ed740d6.woff") format("woff"), url("../media/KaTeX_SansSerif-Italic.c0b22b1e.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_SansSerif;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_SansSerif-Regular.128c9bc2.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Regular.ee7b0a16.woff") format("woff"), url("../media/KaTeX_SansSerif-Regular.156dbd4e.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Script;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Script-Regular.186c7155.woff2") format("woff2"), url("../media/KaTeX_Script-Regular.afc2fd5a.woff") format("woff"), url("../media/KaTeX_Script-Regular.00d9a561.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size1;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size1-Regular.4450ef36.woff2") format("woff2"), url("../media/KaTeX_Size1-Regular.e5bf4c74.woff") format("woff"), url("../media/KaTeX_Size1-Regular.9aaff96b.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size2;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size2-Regular.6a97527b.woff2") format("woff2"), url("../media/KaTeX_Size2-Regular.8fbd32af.woff") format("woff"), url("../media/KaTeX_Size2-Regular.f11810ed.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size3;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size3-Regular.54b7ce9d.woff2") format("woff2"), url("../media/KaTeX_Size3-Regular.45ae8eba.woff") format("woff"), url("../media/KaTeX_Size3-Regular.9812ade2.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size4;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size4-Regular.927fc5b9.woff2") format("woff2"), url("../media/KaTeX_Size4-Regular.b211e3d3.woff") format("woff"), url("../media/KaTeX_Size4-Regular.44a4d487.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Typewriter;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Typewriter-Regular.ff99d643.woff2") format("woff2"), url("../media/KaTeX_Typewriter-Regular.68b6c3a9.woff") format("woff"), url("../media/KaTeX_Typewriter-Regular.a1a7ff52.ttf") format("truetype");
}

.katex {
  text-indent: 0;
  text-rendering: auto;
  font: 1.21em / 1.2 KaTeX_Main, Times New Roman, serif;
  position: relative;
}

.katex * {
  border-color: currentColor;
  -ms-high-contrast-adjust: none !important;
}

.katex .katex-version:after {
  content: "0.16.45";
}

.katex .katex-mathml {
  clip: rect(1px, 1px, 1px, 1px);
  border: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.katex .katex-html > .newline {
  display: block;
}

.katex .base {
  white-space: nowrap;
  width: min-content;
  position: relative;
}

.katex .base, .katex .strut {
  display: inline-block;
}

.katex .textbf {
  font-weight: 700;
}

.katex .textit {
  font-style: italic;
}

.katex .textrm {
  font-family: KaTeX_Main;
}

.katex .textsf {
  font-family: KaTeX_SansSerif;
}

.katex .texttt {
  font-family: KaTeX_Typewriter;
}

.katex .mathnormal {
  font-family: KaTeX_Math;
  font-style: italic;
}

.katex .mathit {
  font-family: KaTeX_Main;
  font-style: italic;
}

.katex .mathrm {
  font-style: normal;
}

.katex .mathbf {
  font-family: KaTeX_Main;
  font-weight: 700;
}

.katex .boldsymbol {
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 700;
}

.katex .amsrm, .katex .mathbb, .katex .textbb {
  font-family: KaTeX_AMS;
}

.katex .mathcal {
  font-family: KaTeX_Caligraphic;
}

.katex .mathfrak, .katex .textfrak {
  font-family: KaTeX_Fraktur;
}

.katex .mathboldfrak, .katex .textboldfrak {
  font-family: KaTeX_Fraktur;
  font-weight: 700;
}

.katex .mathtt {
  font-family: KaTeX_Typewriter;
}

.katex .mathscr, .katex .textscr {
  font-family: KaTeX_Script;
}

.katex .mathsf, .katex .textsf {
  font-family: KaTeX_SansSerif;
}

.katex .mathboldsf, .katex .textboldsf {
  font-family: KaTeX_SansSerif;
  font-weight: 700;
}

.katex .mathitsf, .katex .mathsfit, .katex .textitsf {
  font-family: KaTeX_SansSerif;
  font-style: italic;
}

.katex .mainrm {
  font-family: KaTeX_Main;
  font-style: normal;
}

.katex .vlist-t {
  border-collapse: collapse;
  table-layout: fixed;
  display: inline-table;
}

.katex .vlist-r {
  display: table-row;
}

.katex .vlist {
  vertical-align: bottom;
  display: table-cell;
  position: relative;
}

.katex .vlist > span {
  height: 0;
  display: block;
  position: relative;
}

.katex .vlist > span > span {
  display: inline-block;
}

.katex .vlist > span > .pstrut {
  width: 0;
  overflow: hidden;
}

.katex .vlist-t2 {
  margin-right: -2px;
}

.katex .vlist-s {
  vertical-align: bottom;
  width: 2px;
  min-width: 2px;
  font-size: 1px;
  display: table-cell;
}

.katex .vbox {
  flex-direction: column;
  align-items: baseline;
  display: inline-flex;
}

.katex .hbox {
  width: 100%;
}

.katex .hbox, .katex .thinbox {
  flex-direction: row;
  display: inline-flex;
}

.katex .thinbox {
  width: 0;
  max-width: 0;
}

.katex .msupsub {
  text-align: left;
}

.katex .mfrac > span > span {
  text-align: center;
}

.katex .mfrac .frac-line {
  border-bottom-style: solid;
  width: 100%;
  display: inline-block;
}

.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overline .overline-line, .katex .rule, .katex .underline .underline-line {
  min-height: 1px;
}

.katex .mspace {
  display: inline-block;
}

.katex .smash {
  line-height: 0;
  display: inline;
}

.katex .clap, .katex .llap, .katex .rlap {
  width: 0;
  position: relative;
}

.katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner {
  position: absolute;
}

.katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix {
  display: inline-block;
}

.katex .llap > .inner {
  right: 0;
}

.katex .clap > .inner, .katex .rlap > .inner {
  left: 0;
}

.katex .clap > .inner > span {
  margin-left: -50%;
  margin-right: 50%;
}

.katex .rule {
  border: 0 solid;
  display: inline-block;
  position: relative;
}

.katex .hline, .katex .overline .overline-line, .katex .underline .underline-line {
  border-bottom-style: solid;
  width: 100%;
  display: inline-block;
}

.katex .hdashline {
  border-bottom-style: dashed;
  width: 100%;
  display: inline-block;
}

.katex .sqrt > .root {
  margin-left: .277778em;
  margin-right: -.555556em;
}

.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 {
  font-size: 1.4em;
}

.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 {
  font-size: 1.6em;
}

.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 {
  font-size: 1.8em;
}

.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 {
  font-size: 2em;
}

.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 {
  font-size: 2.4em;
}

.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 {
  font-size: 2.88em;
}

.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 {
  font-size: 3.456em;
}

.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 {
  font-size: 4.148em;
}

.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 {
  font-size: 4.976em;
}

.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 {
  font-size: 1.16667em;
}

.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 {
  font-size: 1.33333em;
}

.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 {
  font-size: 1.5em;
}

.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 {
  font-size: 1.66667em;
}

.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 {
  font-size: 2em;
}

.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 {
  font-size: 2.4em;
}

.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 {
  font-size: 2.88em;
}

.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 {
  font-size: 3.45667em;
}

.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 {
  font-size: 4.14667em;
}

.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 {
  font-size: .714286em;
}

.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 {
  font-size: .857143em;
}

.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 {
  font-size: 1.14286em;
}

.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 {
  font-size: 1.28571em;
}

.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 {
  font-size: 1.42857em;
}

.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 {
  font-size: 1.71429em;
}

.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 {
  font-size: 2.05714em;
}

.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 {
  font-size: 2.46857em;
}

.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 {
  font-size: 2.96286em;
}

.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 {
  font-size: 3.55429em;
}

.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 {
  font-size: .625em;
}

.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 {
  font-size: .75em;
}

.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 {
  font-size: .875em;
}

.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 {
  font-size: 1.125em;
}

.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 {
  font-size: 1.25em;
}

.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 {
  font-size: 1.5em;
}

.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 {
  font-size: 1.8em;
}

.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 {
  font-size: 2.16em;
}

.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 {
  font-size: 2.5925em;
}

.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 {
  font-size: 3.11em;
}

.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 {
  font-size: .555556em;
}

.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 {
  font-size: .666667em;
}

.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 {
  font-size: .777778em;
}

.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 {
  font-size: .888889em;
}

.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 {
  font-size: 1.11111em;
}

.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 {
  font-size: 1.33333em;
}

.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 {
  font-size: 1.6em;
}

.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 {
  font-size: 1.92em;
}

.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 {
  font-size: 2.30444em;
}

.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 {
  font-size: 2.76444em;
}

.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 {
  font-size: .5em;
}

.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 {
  font-size: .6em;
}

.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 {
  font-size: .7em;
}

.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 {
  font-size: .8em;
}

.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 {
  font-size: .9em;
}

.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 {
  font-size: 1.44em;
}

.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 {
  font-size: 1.728em;
}

.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 {
  font-size: 2.074em;
}

.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 {
  font-size: 2.488em;
}

.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 {
  font-size: .416667em;
}

.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 {
  font-size: .5em;
}

.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 {
  font-size: .583333em;
}

.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 {
  font-size: .666667em;
}

.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 {
  font-size: .75em;
}

.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 {
  font-size: 1.44em;
}

.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 {
  font-size: 1.72833em;
}

.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 {
  font-size: 2.07333em;
}

.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 {
  font-size: .347222em;
}

.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 {
  font-size: .416667em;
}

.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 {
  font-size: .486111em;
}

.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 {
  font-size: .555556em;
}

.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 {
  font-size: .625em;
}

.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 {
  font-size: .694444em;
}

.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 {
  font-size: 1.44028em;
}

.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 {
  font-size: 1.72778em;
}

.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 {
  font-size: .289352em;
}

.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 {
  font-size: .347222em;
}

.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 {
  font-size: .405093em;
}

.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 {
  font-size: .462963em;
}

.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 {
  font-size: .520833em;
}

.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 {
  font-size: .578704em;
}

.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 {
  font-size: .694444em;
}

.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 {
  font-size: 1.20023em;
}

.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 {
  font-size: 1.43981em;
}

.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 {
  font-size: .24108em;
}

.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 {
  font-size: .289296em;
}

.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 {
  font-size: .337512em;
}

.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 {
  font-size: .385728em;
}

.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 {
  font-size: .433944em;
}

.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 {
  font-size: .48216em;
}

.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 {
  font-size: .578592em;
}

.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 {
  font-size: .694311em;
}

.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 {
  font-size: .833173em;
}

.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 {
  font-size: 1.19961em;
}

.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 {
  font-size: .200965em;
}

.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 {
  font-size: .241158em;
}

.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 {
  font-size: .281351em;
}

.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 {
  font-size: .321543em;
}

.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 {
  font-size: .361736em;
}

.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 {
  font-size: .401929em;
}

.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 {
  font-size: .482315em;
}

.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 {
  font-size: .578778em;
}

.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 {
  font-size: .694534em;
}

.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 {
  font-size: .833601em;
}

.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 {
  font-size: 1em;
}

.katex .delimsizing.size1 {
  font-family: KaTeX_Size1;
}

.katex .delimsizing.size2 {
  font-family: KaTeX_Size2;
}

.katex .delimsizing.size3 {
  font-family: KaTeX_Size3;
}

.katex .delimsizing.size4 {
  font-family: KaTeX_Size4;
}

.katex .delimsizing.mult .delim-size1 > span {
  font-family: KaTeX_Size1;
}

.katex .delimsizing.mult .delim-size4 > span {
  font-family: KaTeX_Size4;
}

.katex .nulldelimiter {
  width: .12em;
  display: inline-block;
}

.katex .delimcenter, .katex .op-symbol {
  position: relative;
}

.katex .op-symbol.small-op {
  font-family: KaTeX_Size1;
}

.katex .op-symbol.large-op {
  font-family: KaTeX_Size2;
}

.katex .accent > .vlist-t, .katex .op-limits > .vlist-t {
  text-align: center;
}

.katex .accent .accent-body {
  position: relative;
}

.katex .accent .accent-body:not(.accent-full) {
  width: 0;
}

.katex .overlay {
  display: block;
}

.katex .mtable .vertical-separator {
  min-width: 1px;
  display: inline-block;
}

.katex .mtable .arraycolsep {
  display: inline-block;
}

.katex .mtable .col-align-c > .vlist-t {
  text-align: center;
}

.katex .mtable .col-align-l > .vlist-t {
  text-align: left;
}

.katex .mtable .col-align-r > .vlist-t {
  text-align: right;
}

.katex .svg-align {
  text-align: left;
}

.katex svg {
  fill: currentColor;
  stroke: currentColor;
  height: inherit;
  width: 100%;
  display: block;
  position: absolute;
}

.katex svg path {
  stroke: none;
}

.katex svg {
  fill-rule: nonzero;
  fill-opacity: 1;
  stroke-width: 1px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  stroke-opacity: 1;
}

.katex img {
  border-style: none;
  min-width: 0;
  max-width: none;
  min-height: 0;
  max-height: none;
}

.katex .stretchy {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}

.katex .stretchy:after, .katex .stretchy:before {
  content: "";
}

.katex .hide-tail {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.katex .halfarrow-left {
  width: 50.2%;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.katex .halfarrow-right {
  width: 50.2%;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.katex .brace-left {
  width: 25.1%;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.katex .brace-center {
  width: 50%;
  position: absolute;
  left: 25%;
  overflow: hidden;
}

.katex .brace-right {
  width: 25.1%;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.katex .x-arrow-pad {
  padding: 0 .5em;
}

.katex .cd-arrow-pad {
  padding: 0 .55556em 0 .27778em;
}

.katex .mover, .katex .munder, .katex .x-arrow {
  text-align: center;
}

.katex .boxpad {
  padding: 0 .3em;
}

.katex .fbox, .katex .fcolorbox {
  box-sizing: border-box;
  border: .04em solid;
}

.katex .cancel-pad {
  padding: 0 .2em;
}

.katex .cancel-lap {
  margin-left: -.2em;
  margin-right: -.2em;
}

.katex .sout {
  border-bottom-style: solid;
  border-bottom-width: .08em;
}

.katex .angl {
  box-sizing: border-box;
  border-top: .049em solid;
  border-right: .049em solid;
  margin-right: .03889em;
}

.katex .anglpad {
  padding: 0 .03889em;
}

.katex .eqn-num:before {
  content: "(" counter(katexEqnNo) ")";
  counter-increment: katexEqnNo;
}

.katex .mml-eqn-num:before {
  content: "(" counter(mmlEqnNo) ")";
  counter-increment: mmlEqnNo;
}

.katex .mtr-glue {
  width: 50%;
}

.katex .cd-vert-arrow {
  display: inline-block;
  position: relative;
}

.katex .cd-label-left {
  text-align: left;
  display: inline-block;
  position: absolute;
  right: calc(50% + .3em);
}

.katex .cd-label-right {
  text-align: right;
  display: inline-block;
  position: absolute;
  left: calc(50% + .3em);
}

.katex-display {
  text-align: center;
  margin: 1em 0;
  display: block;
}

.katex-display > .katex {
  text-align: center;
  white-space: nowrap;
  display: block;
}

.katex-display > .katex > .katex-html {
  display: block;
  position: relative;
}

.katex-display > .katex > .katex-html > .tag {
  position: absolute;
  right: 0;
}

.katex-display.leqno > .katex > .katex-html > .tag {
  left: 0;
  right: auto;
}

.katex-display.fleqn > .katex {
  text-align: left;
  padding-left: 2em;
}

body {
  counter-reset: katexEqnNo mmlEqnNo;
}

/* [project]/web/src/components/mermaid-diagram.module.css [app-client] (css) */
.mermaid-diagram-module__FPvDMq__diagram {
  justify-content: center;
  margin: 1em 0;
  display: flex;
  overflow-x: auto;
}

.mermaid-diagram-module__FPvDMq__diagram svg {
  max-width: 100%;
  height: auto;
}

.mermaid-diagram-module__FPvDMq__error {
  border: 1px solid var(--bg-tint-error, #f9edee);
  background: var(--bg-tint-error, #f9edee);
  color: var(--text);
  white-space: pre-wrap;
}

/* [project]/web/src/components/markdown.module.css [app-client] (css) */
.markdown-module__gUV31W__markdown {
  font-family: var(--font-prose, inherit), inherit;
  word-break: break-word;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.markdown-module__gUV31W__markdown > :first-child {
  margin-top: 0;
}

.markdown-module__gUV31W__markdown > :last-child {
  margin-bottom: 0;
}

.markdown-module__gUV31W__markdown p {
  margin: .9em 0;
}

.markdown-module__gUV31W__markdown ul, .markdown-module__gUV31W__markdown ol {
  margin: 1em 0;
  padding-left: 1.5em;
}

.markdown-module__gUV31W__markdown li {
  margin: .5em 0;
  padding-left: .15em;
}

.markdown-module__gUV31W__markdown li > ul, .markdown-module__gUV31W__markdown li > ol {
  margin: .4em 0;
}

.markdown-module__gUV31W__markdown li::marker {
  color: var(--text-muted);
}

.markdown-module__gUV31W__markdown code {
  font-family: var(--font-mono);
  background: var(--bg-subtle);
  border-radius: 3px;
  padding: .15em .35em;
  font-size: .88em;
}

.markdown-module__gUV31W__markdown pre {
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: 6px;
  margin: 1.1em 0;
  padding: .85em 1em;
  font-size: .95em;
  overflow-x: auto;
}

.markdown-module__gUV31W__markdown pre code {
  font-size: inherit;
  background: none;
  border-radius: 0;
  padding: 0;
}

.markdown-module__gUV31W__markdownDocs code {
  font-family: var(--font-mono-docs), "JetBrains Mono", ui-monospace, monospace;
  background: color-mix(in srgb, var(--accent-subtle) 70%, var(--bg) 30%);
  color: color-mix(in srgb, var(--text) 88%, var(--accent) 12%);
  border-radius: 4px;
  padding: .12em .4em;
  font-size: .8em;
}

.markdown-module__gUV31W__codeBlockFrame {
  box-shadow: inset 1px 0 0 color-mix(in srgb, var(--border) 60%, transparent), inset -1px 0 0 color-mix(in srgb, var(--border) 60%, transparent);
  border-radius: 8px;
  margin: 1.4em 0;
  position: relative;
  overflow: hidden;
}

.markdown-module__gUV31W__codeLang {
  z-index: 2;
  font-family: var(--font-display), Georgia, serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-dim);
  background: color-mix(in srgb, var(--bg) 70%, transparent);
  -webkit-backdrop-filter: blur(4px);
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  border-radius: 3px;
  padding: .15em .45em;
  font-size: .65rem;
  font-weight: 600;
  position: absolute;
  top: .35rem;
  right: .85rem;
}

.markdown-module__gUV31W__codeCopy {
  z-index: 2;
  font-family: var(--font-display), Georgia, serif;
  letter-spacing: .04em;
  color: var(--text-muted);
  background: color-mix(in srgb, var(--bg) 75%, transparent);
  border: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
  cursor: pointer;
  opacity: 0;
  border-radius: 4px;
  padding: .25em .6em;
  font-size: .7rem;
  font-weight: 500;
  transition: opacity .15s, color .15s, border-color .15s;
  position: absolute;
  top: .35rem;
  right: 3.4rem;
}

.markdown-module__gUV31W__codeBlockFrame:hover .markdown-module__gUV31W__codeCopy, .markdown-module__gUV31W__codeBlockFrame:focus-within .markdown-module__gUV31W__codeCopy {
  opacity: 1;
}

.markdown-module__gUV31W__codeCopy:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.markdown-module__gUV31W__codeCopy:focus-visible {
  opacity: 1;
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.markdown-module__gUV31W__markdownDocs pre.shiki {
  font-family: var(--font-mono-docs), "JetBrains Mono", ui-monospace, monospace;
  margin: 0;
  padding: 1.75rem 0;
  font-size: .82em;
  line-height: 1.55;
  overflow: auto visible;
  background: var(--shiki-light-bg) !important;
  color: var(--shiki-light) !important;
}

.markdown-module__gUV31W__markdownDocs pre.shiki code {
  letter-spacing: 0;
  width: max-content;
  min-width: 100%;
  color: inherit;
  background: none;
  border-radius: 0;
  padding: 0 1.25rem;
  display: block;
}

.markdown-module__gUV31W__markdownDocs pre.shiki span {
  color: var(--shiki-light);
  font-style: var(--shiki-light-font-style);
  font-weight: var(--shiki-light-font-weight);
  -webkit-text-decoration: var(--shiki-light-text-decoration);
  text-decoration: var(--shiki-light-text-decoration);
}

[data-theme="dark"] .markdown-module__gUV31W__markdownDocs pre.shiki {
  background: var(--shiki-dark-bg) !important;
  color: var(--shiki-dark) !important;
}

[data-theme="dark"] .markdown-module__gUV31W__markdownDocs pre.shiki span {
  color: var(--shiki-dark);
  font-style: var(--shiki-dark-font-style);
  font-weight: var(--shiki-dark-font-weight);
  -webkit-text-decoration: var(--shiki-dark-text-decoration);
  text-decoration: var(--shiki-dark-text-decoration);
}

.markdown-module__gUV31W__markdownDocs pre.shiki::-webkit-scrollbar {
  height: 8px;
}

.markdown-module__gUV31W__markdownDocs pre.shiki::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-dim) 50%, transparent);
  border-radius: 4px;
}

.markdown-module__gUV31W__markdownDocs pre.shiki::-webkit-scrollbar-thumb:hover {
  background: var(--text-dim);
}

@media (max-width: 768px) {
  .markdown-module__gUV31W__codeBlockFrame {
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--border) 70%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--border) 70%, transparent);
    border-radius: 0;
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  .markdown-module__gUV31W__markdownDocs pre.shiki {
    font-size: .78em;
  }
}

.markdown-module__gUV31W__markdown strong {
  color: var(--text);
  font-weight: 600;
}

.markdown-module__gUV31W__markdown em {
  font-style: italic;
}

.markdown-module__gUV31W__markdown h1, .markdown-module__gUV31W__markdown h2, .markdown-module__gUV31W__markdown h3, .markdown-module__gUV31W__markdown h4 {
  font-family: var(--font-display, inherit), inherit;
  letter-spacing: -.01em;
  color: var(--text);
  font-weight: 600;
  line-height: 1.25;
}

.markdown-module__gUV31W__markdown h1 {
  font-variation-settings: "opsz" 72, "SOFT" 50, "wght" 600;
  margin: 2.5em 0 .6em;
  font-size: 1.6em;
}

.markdown-module__gUV31W__markdown h2 {
  border-top: 1px solid var(--border);
  font-variation-settings: "opsz" 48, "SOFT" 50, "wght" 600;
  margin: 2.25em 0 .5em;
  padding-top: .6em;
  font-size: 1.4em;
}

.markdown-module__gUV31W__markdown h3 {
  font-variation-settings: "opsz" 24, "SOFT" 50, "wght" 600;
  margin: 1.8em 0 .4em;
  font-size: 1.15em;
}

.markdown-module__gUV31W__markdown h4 {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  margin: 1.5em 0 .35em;
  font-size: .85em;
}

.markdown-module__gUV31W__markdown > h1:first-child, .markdown-module__gUV31W__markdown > h2:first-child, .markdown-module__gUV31W__markdown > h3:first-child {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}

.markdown-module__gUV31W__markdown blockquote {
  border-left: 3px solid var(--accent);
  background: var(--accent-subtle);
  color: var(--text);
  border-radius: 0 6px 6px 0;
  margin: 1.4em 0;
  padding: .6em 1em;
}

.markdown-module__gUV31W__markdown blockquote p {
  margin: .4em 0;
}

.markdown-module__gUV31W__markdown blockquote p:first-child {
  margin-top: 0;
}

.markdown-module__gUV31W__markdown blockquote p:last-child {
  margin-bottom: 0;
}

.markdown-module__gUV31W__markdown hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 2em 0;
}

.markdown-module__gUV31W__markdown a {
  color: var(--accent);
  text-underline-offset: 2px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.markdown-module__gUV31W__markdown a:hover {
  text-decoration-thickness: 2px;
}

.markdown-module__gUV31W__markdown table {
  border-collapse: collapse;
  margin: 1.2em 0;
  font-size: .95em;
}

.markdown-module__gUV31W__markdown th, .markdown-module__gUV31W__markdown td {
  border: 1px solid var(--border);
  text-align: left;
  padding: .4em .75em;
}

.markdown-module__gUV31W__markdown th {
  background: var(--bg-subtle);
  font-weight: 600;
}

.markdown-module__gUV31W__markdown .katex-display {
  margin: 1.4em 0;
  padding: .25em 0 .5em;
  overflow: auto hidden;
}

.markdown-module__gUV31W__markdown .katex {
  font-size: 1.05em;
}

@media (max-width: 600px) {
  .markdown-module__gUV31W__markdown .katex-display > .katex {
    font-size: .95em;
  }
}

.markdown-module__gUV31W__markdown .katex:not(.katex-display .katex) {
  padding: 0 .05em;
}

/* [project]/web/src/components/agent-panel.module.css [app-client] (css) */
.agent-panel-module__FnbU7W__panel {
  top: calc(var(--bar-h)  + env(safe-area-inset-top, 0px));
  padding-bottom: var(--keyboard-inset, 0px);
  z-index: 22;
  background: var(--bg);
  visibility: hidden;
  min-height: 0;
  transition: transform .32s var(--studio-ease), visibility 0s linear .32s;
  flex-direction: column;
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateX(100%);
}

.agent-panel-module__FnbU7W__panel.agent-panel-module__FnbU7W__open {
  visibility: visible;
  transition: transform .32s var(--studio-ease), visibility 0s;
  transform: translateX(0);
}

.agent-panel-module__FnbU7W__header {
  border-bottom: 1px solid var(--border);
  background: var(--bg-subtle);
  flex: none;
  align-items: center;
  padding: 10px 12px;
  display: flex;
}

.agent-panel-module__FnbU7W__back {
  color: var(--accent);
  background: none;
  align-items: center;
  gap: 4px;
  padding: 6px 4px;
  font-size: 15px;
  font-weight: 500;
  display: inline-flex;
}

.agent-panel-module__FnbU7W__messages {
  -webkit-overflow-scrolling: touch;
  flex-direction: column;
  flex: 1;
  gap: 8px;
  min-height: 0;
  padding: 12px;
  display: flex;
  overflow-y: auto;
}

.agent-panel-module__FnbU7W__msg {
  white-space: pre-wrap;
  word-break: break-word;
  font-size: 13px;
  line-height: 1.5;
}

.agent-panel-module__FnbU7W__user {
  color: var(--color-input);
  background: var(--bg-tint-input);
  border-radius: 6px;
  padding: 8px 10px;
}

.agent-panel-module__FnbU7W__assistant {
  color: var(--text);
  white-space: normal;
  padding: 8px 10px;
}

.agent-panel-module__FnbU7W__system {
  color: var(--text-muted);
  text-align: center;
  opacity: .7;
  padding: 2px 10px;
  font-size: 11px;
  font-style: italic;
}

.agent-panel-module__FnbU7W__tool {
  font-family: var(--font-mono);
  color: var(--color-tool);
  background: var(--bg-tint-tool);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 11px;
}

.agent-panel-module__FnbU7W__tool a {
  color: var(--accent);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.agent-panel-module__FnbU7W__tool a:hover {
  text-decoration-thickness: 2px;
}

.agent-panel-module__FnbU7W__typecheck {
  white-space: pre-wrap;
  word-break: break-word;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
}

.agent-panel-module__FnbU7W__typecheck.agent-panel-module__FnbU7W__pass {
  color: var(--color-success);
  background: var(--bg-tint-success);
}

.agent-panel-module__FnbU7W__typecheck.agent-panel-module__FnbU7W__fail {
  color: var(--color-error);
  background: var(--bg-tint-error);
}

.agent-panel-module__FnbU7W__error {
  color: var(--color-error);
  background: var(--bg-tint-error);
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 13px;
}

.agent-panel-module__FnbU7W__streamError {
  color: var(--text-muted);
  padding: 8px 10px;
  font-size: 13px;
  font-style: italic;
}

.agent-panel-module__FnbU7W__loading {
  color: var(--text-dim);
  padding: 8px 10px;
  font-size: 13px;
  animation: 1.5s ease-in-out infinite agent-panel-module__FnbU7W__pulse;
}

@keyframes agent-panel-module__FnbU7W__pulse {
  0%, 100% {
    opacity: .4;
  }

  50% {
    opacity: 1;
  }
}

.agent-panel-module__FnbU7W__backToGame {
  background: var(--bg-subtle);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 10px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 6px 12px;
  padding: 9px 12px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
}

.agent-panel-module__FnbU7W__backToGame:hover {
  background: var(--bg-input);
}

.agent-panel-module__FnbU7W__inputBar {
  padding: 10px 12px max(10px, calc(10px + env(safe-area-inset-bottom, 0px)  - var(--keyboard-inset, 0px)));
  border-top: 1px solid var(--border);
  background: var(--bg);
  flex: none;
  align-items: flex-end;
  gap: 9px;
  display: flex;
}

.agent-panel-module__FnbU7W__inputBar textarea {
  background: var(--bg-input);
  color: var(--text);
  border: 1px solid var(--border);
  resize: none;
  border-radius: 14px;
  flex: 1;
  max-height: 120px;
  padding: 11px 14px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.4;
}

.agent-panel-module__FnbU7W__inputBar textarea:focus {
  border-color: var(--accent);
  outline: none;
}

.agent-panel-module__FnbU7W__send {
  background: var(--accent);
  width: 44px;
  height: 44px;
  color: var(--text-on-accent);
  border-radius: 14px;
  flex: none;
  place-items: center;
  display: grid;
}

.agent-panel-module__FnbU7W__send:hover:not(:disabled) {
  background: var(--accent-hover);
}

.agent-panel-module__FnbU7W__send:disabled {
  opacity: .4;
  cursor: default;
}

@media (min-width: 980px) {
  .agent-panel-module__FnbU7W__panel {
    z-index: auto;
    background: var(--bg-subtle);
    width: 0;
    transition: width .28s var(--studio-ease);
    border-left: none;
    flex: none;
    position: relative;
    inset: auto;
    overflow: hidden;
    transform: none;
  }

  .agent-panel-module__FnbU7W__panel.agent-panel-module__FnbU7W__open {
    border-left: 1px solid var(--border);
    width: 400px;
  }

  .agent-panel-module__FnbU7W__panel.agent-panel-module__FnbU7W__solo.agent-panel-module__FnbU7W__open {
    border-left: none;
    flex: 1;
    width: auto;
  }

  .agent-panel-module__FnbU7W__backToGame {
    display: none;
  }
}

/* [project]/web/src/components/studio/surfaces/code.module.css [app-client] (css) */
.code-module__c0Rf3W__panel {
  flex-direction: column;
  flex: 1;
  gap: 12px;
  padding: 16px;
  display: flex;
  overflow: hidden;
}

.code-module__c0Rf3W__body {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  flex: 1;
  min-height: 0;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px #00000005, 0 10px 28px -16px #0000001f;
}

.code-module__c0Rf3W__mobileBar {
  display: none;
}

.code-module__c0Rf3W__sidebar {
  border-right: 1px solid var(--border);
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg-subtle) 55%, var(--bg)) 0%, var(--bg) 140px);
  flex-direction: column;
  flex-shrink: 0;
  width: 232px;
  display: flex;
  overflow: hidden;
}

.code-module__c0Rf3W__sidebarHeader {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  -webkit-user-select: none;
  user-select: none;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 14px 10px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
}

.code-module__c0Rf3W__sidebarCount {
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
  color: var(--text-dim);
  font-weight: 500;
}

.code-module__c0Rf3W__sidebarScroll {
  flex: 1;
  padding: 8px 0 16px;
  overflow-y: auto;
}

.code-module__c0Rf3W__sidebarScroll::-webkit-scrollbar {
  width: 8px;
}

.code-module__c0Rf3W__sidebarScroll::-webkit-scrollbar-track {
  background: none;
}

.code-module__c0Rf3W__sidebarScroll::-webkit-scrollbar-thumb {
  background: padding-box padding-box;
  border: 2px solid #0000;
  border-radius: 4px;
}

.code-module__c0Rf3W__sidebarScroll:hover::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-dim) 40%, transparent);
  background-clip: padding-box;
}

.code-module__c0Rf3W__tree {
  margin: 0;
  padding: 0;
  list-style: none;
}

.code-module__c0Rf3W__treeNested {
  border-left: 1px dashed color-mix(in srgb, var(--border) 90%, transparent);
  margin: 0 0 0 14px;
  padding-left: 12px;
  list-style: none;
}

.code-module__c0Rf3W__row {
  width: 100%;
  color: var(--text);
  font-family: var(--font-mono);
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: none;
  border-left: 2px solid #0000;
  align-items: center;
  gap: 6px;
  padding: 3px 10px 3px 8px;
  font-size: 12.5px;
  line-height: 1.5;
  transition: background .12s, color .12s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.code-module__c0Rf3W__row:hover {
  background: color-mix(in srgb, var(--bg-subtle) 70%, transparent);
}

.code-module__c0Rf3W__row:focus-visible {
  box-shadow: inset 0 0 0 1.5px var(--accent);
  outline: none;
}

.code-module__c0Rf3W__fileItem.code-module__c0Rf3W__active {
  background: color-mix(in srgb, var(--accent-subtle) 75%, transparent);
  color: var(--accent);
  border-left-color: var(--accent);
}

.code-module__c0Rf3W__chevron {
  width: 12px;
  height: 12px;
  color: var(--text-dim);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: transform .16s;
  display: inline-flex;
}

.code-module__c0Rf3W__chevron:before {
  content: "";
  border-top: 4px solid #0000;
  border-bottom: 4px solid #0000;
  border-left: 5px solid;
  width: 0;
  height: 0;
  transform: translateX(1px);
}

.code-module__c0Rf3W__chevronOpen {
  transform: rotate(90deg);
}

.code-module__c0Rf3W__chevronSlot {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.code-module__c0Rf3W__dirName {
  color: var(--text);
  letter-spacing: .005em;
  text-overflow: ellipsis;
  font-weight: 500;
  overflow: hidden;
}

.code-module__c0Rf3W__dot {
  background: var(--text-dim);
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 50%;
  flex-shrink: 0;
}

.code-module__c0Rf3W__dotTs {
  background: var(--accent-secondary);
}

.code-module__c0Rf3W__dotJs {
  background: var(--color-response);
}

.code-module__c0Rf3W__dotJson {
  background: var(--color-output);
}

.code-module__c0Rf3W__dotCss {
  background: var(--color-tool);
}

.code-module__c0Rf3W__dotMd {
  background: var(--text-muted);
}

.code-module__c0Rf3W__dotHtml {
  background: var(--color-error);
}

.code-module__c0Rf3W__fileLabel {
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.code-module__c0Rf3W__fileExt {
  color: var(--text-dim);
}

.code-module__c0Rf3W__fileItem.code-module__c0Rf3W__active .code-module__c0Rf3W__fileExt {
  color: color-mix(in srgb, var(--accent) 55%, var(--text-muted));
}

.code-module__c0Rf3W__editors {
  background: #1e1e1e;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  position: relative;
}

.code-module__c0Rf3W__breadcrumb {
  font-family: var(--font-mono);
  color: #858585;
  -webkit-user-select: none;
  user-select: none;
  background: #1e1e1e;
  border-bottom: 1px solid #2a2a2a;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 11.5px;
  display: flex;
}

.code-module__c0Rf3W__breadcrumbSep {
  color: #4a4a4a;
}

.code-module__c0Rf3W__breadcrumbCurrent {
  color: #d4d4d4;
}

.code-module__c0Rf3W__editor {
  background: #1e1e1e;
  flex: 1;
  display: none;
  overflow: hidden;
}

.code-module__c0Rf3W__editor.code-module__c0Rf3W__active {
  display: flex;
}

.code-module__c0Rf3W__actions {
  align-items: center;
  gap: 10px;
  padding: 0 2px;
  display: flex;
}

.code-module__c0Rf3W__status {
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
  font-size: 12.5px;
}

@keyframes code-module__c0Rf3W__treeRowIn {
  from {
    opacity: 0;
    transform: translateX(-3px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.code-module__c0Rf3W__tree > li {
  animation: .24s ease-out both code-module__c0Rf3W__treeRowIn;
}

.code-module__c0Rf3W__tree > li:first-child {
  animation-delay: 20ms;
}

.code-module__c0Rf3W__tree > li:nth-child(2) {
  animation-delay: 40ms;
}

.code-module__c0Rf3W__tree > li:nth-child(3) {
  animation-delay: 60ms;
}

.code-module__c0Rf3W__tree > li:nth-child(4) {
  animation-delay: 80ms;
}

.code-module__c0Rf3W__tree > li:nth-child(5) {
  animation-delay: .1s;
}

.code-module__c0Rf3W__tree > li:nth-child(6) {
  animation-delay: .12s;
}

.code-module__c0Rf3W__tree > li:nth-child(n+7) {
  animation-delay: .14s;
}

@media (prefers-reduced-motion: reduce) {
  .code-module__c0Rf3W__tree > li {
    animation: none;
  }

  .code-module__c0Rf3W__chevron, .code-module__c0Rf3W__row {
    transition: none;
  }
}

@media (max-width: 768px) {
  .code-module__c0Rf3W__panel {
    gap: 10px;
    padding: 12px;
  }

  .code-module__c0Rf3W__mobileBar {
    flex: none;
    align-items: center;
    gap: 10px;
    display: flex;
  }

  .code-module__c0Rf3W__filesToggle {
    border: 1px solid var(--border);
    background: var(--bg-subtle);
    color: var(--text);
    cursor: pointer;
    border-radius: 8px;
    flex-shrink: 0;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    display: inline-flex;
  }

  .code-module__c0Rf3W__mobileBarFile {
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-family: var(--font-mono);
    color: var(--text-muted);
    font-size: 12px;
    overflow: hidden;
  }

  .code-module__c0Rf3W__sidebar {
    z-index: 2;
    border-right: none;
    width: 100%;
    display: none;
    position: absolute;
    inset: 0;
  }

  .code-module__c0Rf3W__body.code-module__c0Rf3W__navOpen .code-module__c0Rf3W__sidebar {
    display: flex;
  }
}

/* [project]/web/src/components/spinner.module.css [app-client] (css) */
.spinner-module__VKfKeG__spinner {
  border: 2px solid var(--spinner-track, var(--border));
  border-top-color: var(--spinner-head, var(--accent));
  border-radius: 50%;
  flex-shrink: 0;
  animation: .8s linear infinite spinner-module__VKfKeG__spin;
  display: inline-block;
}

@keyframes spinner-module__VKfKeG__spin {
  to {
    transform: rotate(360deg);
  }
}

/* [project]/web/src/app/albums/[albumId]/edit/mask-toolbar.module.css [app-client] (css) */
.mask-toolbar-module__CS2dmq__toolbar {
  z-index: 10;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #ffffffe6;
  background: #0009;
  border-radius: 8px;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  display: flex;
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.mask-toolbar-module__CS2dmq__tool {
  opacity: .8;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-size: 12px;
  display: flex;
}

.mask-toolbar-module__CS2dmq__toolLabel {
  font-size: 12px;
}

.mask-toolbar-module__CS2dmq__clearButton {
  color: inherit;
  cursor: pointer;
  background: #ffffff26;
  border: none;
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-family: inherit;
  font-size: 12px;
  transition: background .15s;
  display: flex;
}

.mask-toolbar-module__CS2dmq__clearButton:hover {
  background: #ffffff40;
}

@media (max-width: 768px) {
  .mask-toolbar-module__CS2dmq__tool, .mask-toolbar-module__CS2dmq__clearButton {
    min-height: 44px;
    padding: 8px 12px;
  }
}

/* [project]/web/src/app/albums/[albumId]/edit/canvas.module.css [app-client] (css) */
.canvas-module__--kvRG__container {
  flex: 1;
  justify-content: center;
  align-items: center;
  min-height: 0;
  padding: 16px;
  display: flex;
  position: relative;
}

.canvas-module__--kvRG__canvas {
  object-fit: contain;
  cursor: crosshair;
  touch-action: none;
  border-radius: 8px;
  max-width: 100%;
  max-height: 100%;
}

.canvas-module__--kvRG__empty {
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 16px;
  min-height: 0;
  padding: 32px;
  display: flex;
}

.canvas-module__--kvRG__emptyIcon {
  color: var(--text-dim);
}

.canvas-module__--kvRG__emptyText {
  color: var(--text-muted);
  text-align: center;
  max-width: 280px;
  font-size: 15px;
  line-height: 1.5;
}

/* [project]/web/src/app/albums/[albumId]/edit/prompt-input.module.css [app-client] (css) */
.prompt-input-module__jPKREa__form {
  border-top: 1px solid var(--border);
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px 16px;
  display: flex;
}

.prompt-input-module__jPKREa__textarea {
  border: 1px solid var(--border);
  background: var(--bg);
  width: 100%;
  color: var(--text);
  resize: vertical;
  border-radius: 8px;
  min-height: 40px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
}

.prompt-input-module__jPKREa__textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
  outline: none;
}

.prompt-input-module__jPKREa__textarea:disabled {
  opacity: .6;
}

.prompt-input-module__jPKREa__negative {
  font-size: 13px;
}

.prompt-input-module__jPKREa__controls {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.prompt-input-module__jPKREa__toggleNegative {
  color: var(--text-muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: none;
  border-radius: 6px;
  padding: 4px 10px;
  font-family: inherit;
  font-size: 12px;
}

.prompt-input-module__jPKREa__toggleNegative:hover {
  color: var(--text);
}

.prompt-input-module__jPKREa__pillButton {
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 6px;
  padding: 4px 8px;
  font-family: inherit;
  font-size: 12px;
  transition: border-color .15s, color .15s;
}

.prompt-input-module__jPKREa__pillButton:hover {
  border-color: var(--accent);
  color: var(--text);
}

.prompt-input-module__jPKREa__pillButton:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.prompt-input-module__jPKREa__pillActive {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-subtle);
}

.prompt-input-module__jPKREa__pillGroup {
  gap: 4px;
  display: flex;
}

.prompt-input-module__jPKREa__aspectButton {
  
}

.prompt-input-module__jPKREa__aspectActive {
  
}

.prompt-input-module__jPKREa__modelButton {
  
}

.prompt-input-module__jPKREa__modelActive {
  
}

.prompt-input-module__jPKREa__strengthButton {
  
}

.prompt-input-module__jPKREa__strengthActive {
  
}

.prompt-input-module__jPKREa__zoomCheckbox {
  color: var(--text-muted);
  white-space: nowrap;
  cursor: pointer;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.prompt-input-module__jPKREa__zoomCheckbox input {
  accent-color: var(--accent);
  cursor: pointer;
}

.prompt-input-module__jPKREa__strengthControl {
  align-items: center;
  gap: 8px;
  display: flex;
}

.prompt-input-module__jPKREa__strengthLabel {
  color: var(--text-muted);
  white-space: nowrap;
  min-width: 90px;
  font-size: 12px;
}

.prompt-input-module__jPKREa__strengthSlider {
  width: 100px;
  accent-color: var(--accent);
}

.prompt-input-module__jPKREa__generateButton {
  background: var(--accent);
  color: var(--text-on-accent);
  cursor: pointer;
  white-space: nowrap;
  border: none;
  border-radius: 8px;
  margin-left: auto;
  padding: 8px 20px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  transition: background .15s;
}

.prompt-input-module__jPKREa__generateButton:hover:not(:disabled) {
  background: var(--accent-hover);
}

.prompt-input-module__jPKREa__generateButton:disabled {
  opacity: .5;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .prompt-input-module__jPKREa__form {
    padding: 8px 12px 12px;
  }

  .prompt-input-module__jPKREa__controls {
    gap: 6px;
  }

  .prompt-input-module__jPKREa__pillButton {
    padding: 4px 6px;
    font-size: 11px;
  }
}

/* [project]/web/src/app/albums/[albumId]/edit/selection-view.module.css [app-client] (css) */
.selection-view-module__QnSKxG__overlay {
  flex: 1;
  justify-content: center;
  align-items: center;
  min-height: 0;
  padding: 16px;
  display: flex;
  container-type: size;
}

.selection-view-module__QnSKxG__content {
  --grid-v-offset: 78px;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-height: 100%;
  display: flex;
}

.selection-view-module__QnSKxG__grid {
  width: min(100cqw, calc((100cqh - var(--grid-v-offset)) * var(--aspect-ratio, 1)  + 8px));
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  max-width: 100%;
  display: grid;
}

.selection-view-module__QnSKxG__candidateWrapper {
  position: relative;
}

.selection-view-module__QnSKxG__candidate {
  cursor: pointer;
  width: 100%;
  aspect-ratio: var(--aspect-ratio, 1);
  background: none;
  border: 2px solid #0000;
  border-radius: 8px;
  padding: 0;
  transition: border-color .15s, box-shadow .15s;
  display: block;
  overflow: hidden;
}

.selection-view-module__QnSKxG__candidate:hover {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}

.selection-view-module__QnSKxG__candidateImage {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.selection-view-module__QnSKxG__candidateActions {
  opacity: 0;
  gap: 4px;
  transition: opacity .15s;
  display: flex;
  position: absolute;
  top: 6px;
  right: 6px;
}

.selection-view-module__QnSKxG__candidateWrapper:hover .selection-view-module__QnSKxG__candidateActions {
  opacity: 1;
}

.selection-view-module__QnSKxG__overlayButton {
  color: #fff;
  cursor: pointer;
  background: #00000080;
  border: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  text-decoration: none;
  transition: background .15s;
  display: flex;
}

.selection-view-module__QnSKxG__overlayButton:hover {
  background: #000000b3;
}

.selection-view-module__QnSKxG__overlayButtonActive {
  color: var(--accent);
}

.selection-view-module__QnSKxG__originalBadge {
  color: #fff;
  pointer-events: none;
  background: #00000080;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 11px;
  position: absolute;
  bottom: 8px;
  left: 8px;
}

.selection-view-module__QnSKxG__placeholder {
  border: 1px dashed var(--border);
  background: var(--bg-subtle);
  aspect-ratio: var(--aspect-ratio, 1);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.selection-view-module__QnSKxG__failedIcon {
  color: var(--text-muted);
  opacity: .5;
}

.selection-view-module__QnSKxG__failedMessage {
  color: var(--text-muted);
  text-align: center;
  padding: 8px;
  font-size: 11px;
  line-height: 1.4;
}

.selection-view-module__QnSKxG__dismissButton {
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  font-family: inherit;
  font-size: 13px;
  transition: border-color .15s, color .15s;
  display: flex;
}

.selection-view-module__QnSKxG__dismissButton:hover {
  border-color: var(--text-muted);
  color: var(--text);
}

.selection-view-module__QnSKxG__label {
  color: var(--text-muted);
  text-align: center;
  font-size: 13px;
}

@media (max-width: 768px) {
  .selection-view-module__QnSKxG__overlay {
    z-index: 100;
    background: var(--bg);
    padding: 12px;
    position: fixed;
    inset: 0;
    container-type: size;
  }

  .selection-view-module__QnSKxG__candidateActions {
    opacity: 1;
  }
}

/* [project]/web/src/components/square-thumbnail.module.css [app-client] (css) */
.square-thumbnail-module__U7DDDq__container {
  aspect-ratio: 1;
  background: var(--bg-subtle);
  position: relative;
  overflow: hidden;
}

.square-thumbnail-module__U7DDDq__blurredFill {
  object-fit: cover;
  filter: blur(16px);
  opacity: .75;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  transform: scale(1.15);
}

.square-thumbnail-module__U7DDDq__fitted {
  object-fit: contain;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

/* [project]/web/src/app/albums/[albumId]/edit/view-modal.module.css [app-client] (css) */
.view-modal-module__zEpaDq__dialog {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  box-shadow: none;
  background: #000000d9;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.view-modal-module__zEpaDq__dialog[open] {
  animation: .15s ease-out view-modal-module__zEpaDq__fadeIn;
}

.view-modal-module__zEpaDq__dialog::backdrop {
  background: #000000d9;
}

.view-modal-module__zEpaDq__dialog[open]::backdrop {
  animation: .15s ease-out view-modal-module__zEpaDq__fadeIn;
}

@keyframes view-modal-module__zEpaDq__fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.view-modal-module__zEpaDq__viewer {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.view-modal-module__zEpaDq__closeButton {
  z-index: 10;
  color: #fff;
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #ffffff1a;
  border: 1px solid #ffffff1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  transition: background .15s;
  display: flex;
  position: absolute;
  top: 16px;
  right: 16px;
}

.view-modal-module__zEpaDq__closeButton:hover {
  background: #ffffff40;
}

.view-modal-module__zEpaDq__imageContainer {
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.view-modal-module__zEpaDq__imageContainer:active {
  cursor: grabbing;
}

.view-modal-module__zEpaDq__image {
  object-fit: contain;
  transform-origin: center;
  will-change: transform;
  max-width: 90%;
  max-height: 90%;
}

.view-modal-module__zEpaDq__imageAnimating {
  transition: transform .2s ease-out;
}

.view-modal-module__zEpaDq__actionBar {
  z-index: 10;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #00000080;
  border-radius: 12px;
  gap: 8px;
  padding: 8px 12px;
  display: flex;
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.view-modal-module__zEpaDq__actionButton {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #ffffff26;
  border: none;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s;
  display: flex;
}

.view-modal-module__zEpaDq__actionButton:hover {
  background: #ffffff40;
}

.view-modal-module__zEpaDq__actionButton:disabled {
  opacity: .4;
  cursor: not-allowed;
}

/* [project]/web/src/app/albums/[albumId]/edit/history-panel.module.css [app-client] (css) */
.history-panel-module__mABGyq__panel {
  background: var(--bg);
  flex-direction: column;
  flex-shrink: 0;
  transition: width .2s;
  display: flex;
  overflow: hidden;
}

.history-panel-module__mABGyq__panelResizing {
  transition: none;
}

.history-panel-module__mABGyq__header {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  display: flex;
}

.history-panel-module__mABGyq__title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 32px;
}

.history-panel-module__mABGyq__closeButton {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  padding: 4px;
  display: none;
}

.history-panel-module__mABGyq__empty {
  color: var(--text-muted);
  padding: 16px;
  font-size: 13px;
  line-height: 1.5;
}

.history-panel-module__mABGyq__list {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
  overflow-y: auto;
}

.history-panel-module__mABGyq__entry {
  border-bottom: 1px solid var(--border);
  flex-direction: column;
  gap: 6px;
  padding: 12px 16px;
  display: flex;
}

.history-panel-module__mABGyq__thumbnails {
  gap: 4px;
  display: grid;
}

.history-panel-module__mABGyq__thumbnail {
  aspect-ratio: 1;
  border: 2px solid #0000;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.history-panel-module__mABGyq__thumbnailSelected {
  border-color: var(--accent);
}

.history-panel-module__mABGyq__thumbnailButton {
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  height: 100%;
  padding: 0;
  display: block;
}

.history-panel-module__mABGyq__thumbnailImage {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.history-panel-module__mABGyq__overlayButton {
  color: #fff;
  cursor: pointer;
  opacity: 0;
  background: #00000080;
  border: none;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  padding: 0;
  transition: opacity .15s;
  display: flex;
  position: absolute;
}

.history-panel-module__mABGyq__thumbnail:hover .history-panel-module__mABGyq__overlayButton {
  opacity: 1;
}

.history-panel-module__mABGyq__albumButton {
  top: 1px;
  right: 1px;
}

.history-panel-module__mABGyq__albumButtonActive {
  opacity: 1;
  color: var(--accent);
}

.history-panel-module__mABGyq__editButton {
  top: 1px;
  right: 20px;
}

.history-panel-module__mABGyq__meta {
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.history-panel-module__mABGyq__prompt {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  font-size: 12px;
  overflow: hidden;
}

.history-panel-module__mABGyq__params {
  color: var(--text-dim);
  white-space: nowrap;
  font-size: 11px;
}

.history-panel-module__mABGyq__backdrop {
  display: none;
}

@media (max-width: 768px) {
  .history-panel-module__mABGyq__panel {
    z-index: 200;
    border-left: none;
    transition: transform .25s;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    transform: translateX(100%);
    box-shadow: -4px 0 16px #0000001a;
    width: calc(100vw - 48px) !important;
  }

  .history-panel-module__mABGyq__panelOpen {
    transform: translateX(0);
  }

  .history-panel-module__mABGyq__closeButton {
    display: flex;
  }

  .history-panel-module__mABGyq__backdrop {
    z-index: 199;
    background: #0006;
    display: block;
    position: fixed;
    inset: 0;
  }
}

/* [project]/web/src/components/publish-modal.module.css [app-client] (css) */
.publish-modal-module___2_7oa__header {
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: 12px;
  padding: 20px 24px 16px;
  display: flex;
}

.publish-modal-module___2_7oa__title {
  flex: 1;
  font-size: 18px;
  font-weight: 600;
}

.publish-modal-module___2_7oa__closeButton {
  width: 32px;
  height: 32px;
  color: var(--text-muted);
  background: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.publish-modal-module___2_7oa__closeButton:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

.publish-modal-module___2_7oa__fieldset {
  border: none;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  display: flex;
}

.publish-modal-module___2_7oa__body {
  flex: 1;
  min-height: 0;
  padding: 20px 24px;
  overflow-y: auto;
}

.publish-modal-module___2_7oa__form {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.publish-modal-module___2_7oa__field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.publish-modal-module___2_7oa__label {
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 500;
}

.publish-modal-module___2_7oa__hint {
  color: var(--text-dim);
  font-size: 12px;
}

.publish-modal-module___2_7oa__input {
  padding: 10px 12px;
}

.publish-modal-module___2_7oa__textarea {
  resize: vertical;
  min-height: 80px;
  padding: 10px 12px;
}

.publish-modal-module___2_7oa__thumbnail {
  aspect-ratio: 3 / 2;
  width: 100%;
}

.publish-modal-module___2_7oa__error {
  color: var(--color-error);
  background: var(--bg-tint-error);
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 13px;
}

.publish-modal-module___2_7oa__footer {
  border-top: 1px solid var(--border);
  background: var(--bg);
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  display: flex;
}

.publish-modal-module___2_7oa__spacer {
  flex: 1;
}

.publish-modal-module___2_7oa__cancelButton {
  color: var(--text-muted);
  background: none;
}

.publish-modal-module___2_7oa__cancelButton:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

.publish-modal-module___2_7oa__unpublishButton {
  color: var(--color-error);
  background: none;
}

.publish-modal-module___2_7oa__unpublishButton:hover {
  background: var(--bg-tint-error);
}

/* [project]/web/src/components/delete-confirm-dialog.module.css [app-client] (css) */
.delete-confirm-dialog-module__levAfq__root {
  flex-direction: column;
  animation: .15s ease-out delete-confirm-dialog-module__levAfq__rise;
  display: flex;
}

@keyframes delete-confirm-dialog-module__levAfq__rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.delete-confirm-dialog-module__levAfq__header {
  align-items: flex-start;
  gap: 14px;
  padding: 24px 24px 0;
  display: flex;
}

.delete-confirm-dialog-module__levAfq__badge {
  background: var(--bg-tint-error);
  width: 40px;
  height: 40px;
  color: var(--color-error);
  border-radius: 11px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.delete-confirm-dialog-module__levAfq__heading {
  min-width: 0;
}

.delete-confirm-dialog-module__levAfq__title {
  color: var(--text);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.3;
}

.delete-confirm-dialog-module__levAfq__name {
  color: var(--text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 14px;
  overflow: hidden;
}

.delete-confirm-dialog-module__levAfq__body {
  flex-direction: column;
  gap: 11px;
  padding: 16px 24px 4px;
  display: flex;
}

.delete-confirm-dialog-module__levAfq__lede {
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.delete-confirm-dialog-module__levAfq__callout {
  color: var(--text);
  border-radius: 10px;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 13px;
  font-size: 13px;
  line-height: 1.5;
  display: flex;
}

.delete-confirm-dialog-module__levAfq__callout svg {
  flex-shrink: 0;
  margin-top: 1px;
}

.delete-confirm-dialog-module__levAfq__callout strong {
  font-weight: 650;
}

.delete-confirm-dialog-module__levAfq__danger {
  background: var(--bg-tint-error);
}

.delete-confirm-dialog-module__levAfq__danger svg {
  color: var(--color-error);
}

.delete-confirm-dialog-module__levAfq__info {
  background: var(--bg-tint-input);
}

.delete-confirm-dialog-module__levAfq__info svg {
  color: var(--accent-secondary);
}

.delete-confirm-dialog-module__levAfq__footer {
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 24px 22px;
  display: flex;
}

.delete-confirm-dialog-module__levAfq__cancel {
  border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer;
  background: none;
  border-radius: 7px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s;
}

.delete-confirm-dialog-module__levAfq__cancel:hover:not(:disabled) {
  background: var(--bg-subtle);
}

.delete-confirm-dialog-module__levAfq__delete {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #c25656;
  border: 1px solid #0000;
  border-radius: 7px;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 550;
  transition: background .15s;
  display: inline-flex;
}

.delete-confirm-dialog-module__levAfq__delete:hover:not(:disabled) {
  background: #a94646;
}

.delete-confirm-dialog-module__levAfq__cancel:disabled, .delete-confirm-dialog-module__levAfq__delete:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* [project]/web/src/app/albums/[albumId]/edit/album-tab.module.css [app-client] (css) */
.album-tab-module__oZZ0Va__empty {
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 32px 16px;
  display: flex;
}

.album-tab-module__oZZ0Va__emptyText {
  color: var(--text-muted);
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 500;
}

.album-tab-module__oZZ0Va__emptyHint {
  color: var(--text-dim);
  margin: 0;
  font-size: 13px;
}

.album-tab-module__oZZ0Va__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.album-tab-module__oZZ0Va__grid {
  grid-template-columns: 1fr;
  gap: 16px;
  padding: 16px;
  display: grid;
}

.album-tab-module__oZZ0Va__card {
  border: 1px solid var(--border);
  background: var(--bg);
  border-radius: 8px;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.album-tab-module__oZZ0Va__thumbnailButton {
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  padding: 0;
  transition: transform .15s;
  display: block;
  overflow: hidden;
}

.album-tab-module__oZZ0Va__thumbnailButton:hover {
  transform: scale(1.03);
}

.album-tab-module__oZZ0Va__thumbnail {
  display: block;
}

.album-tab-module__oZZ0Va__cardBody {
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  display: flex;
}

.album-tab-module__oZZ0Va__prompt {
  color: var(--text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: 12px;
  overflow: hidden;
}

.album-tab-module__oZZ0Va__actions {
  gap: 4px;
  display: flex;
}

.album-tab-module__oZZ0Va__actionButton {
  border: 1px solid var(--border);
  background: var(--bg);
  width: 28px;
  height: 28px;
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  text-decoration: none;
  transition: border-color .15s, color .15s;
  display: flex;
}

.album-tab-module__oZZ0Va__actionButton:hover {
  border-color: var(--accent);
  color: var(--text);
}

.album-tab-module__oZZ0Va__actionButtonActive {
  border-color: var(--accent);
  color: var(--accent);
}

@media (min-width: 480px) {
  .album-tab-module__oZZ0Va__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

@media (min-width: 768px) {
  .album-tab-module__oZZ0Va__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .album-tab-module__oZZ0Va__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1400px) {
  .album-tab-module__oZZ0Va__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

/* [project]/web/src/app/albums/[albumId]/edit/image-studio.module.css [app-client] (css) */
.image-studio-module__yfWrNG__layout {
  height: 100%;
  display: flex;
  overflow: hidden;
}

.image-studio-module__yfWrNG__main {
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.image-studio-module__yfWrNG__header {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  display: flex;
}

.image-studio-module__yfWrNG__titleInput {
  color: var(--text);
  background: none;
  border: none;
  outline: none;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
}

.image-studio-module__yfWrNG__titleInput::placeholder {
  color: var(--text-muted);
}

.image-studio-module__yfWrNG__headerActions {
  gap: 4px;
  display: flex;
}

.image-studio-module__yfWrNG__headerButton {
  border: 1px solid var(--border);
  background: var(--bg);
  width: 32px;
  height: 32px;
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 0;
  transition: border-color .15s, color .15s;
  display: flex;
}

.image-studio-module__yfWrNG__headerButton:hover {
  border-color: var(--accent);
  color: var(--text);
}

.image-studio-module__yfWrNG__historyToggle {
  
}

.image-studio-module__yfWrNG__tabs {
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  display: flex;
}

.image-studio-module__yfWrNG__tab {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-bottom: 2px solid #0000;
  padding: 10px 24px;
  font-family: inherit;
  font-size: 14px;
  transition: color .15s, border-color .15s;
}

.image-studio-module__yfWrNG__tab:hover {
  color: var(--text-dim);
}

.image-studio-module__yfWrNG__tabActive {
  color: var(--text);
  border-bottom-color: var(--accent);
}

.image-studio-module__yfWrNG__errorBanner {
  background: var(--bg-tint-error);
  color: var(--color-error);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 13px;
  line-height: 1.4;
  display: flex;
}

.image-studio-module__yfWrNG__errorDismiss {
  color: inherit;
  opacity: .6;
  cursor: pointer;
  background: none;
  border: none;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 2px;
  display: flex;
}

.image-studio-module__yfWrNG__errorDismiss:hover {
  opacity: 1;
}

.image-studio-module__yfWrNG__canvasArea {
  flex: 1;
  min-height: 0;
  display: flex;
}

.image-studio-module__yfWrNG__resizeHandle {
  background: var(--border);
  cursor: col-resize;
  flex-shrink: 0;
  width: 1px;
  transition: background .15s;
  position: relative;
}

.image-studio-module__yfWrNG__resizeHandle:before {
  content: "";
  position: absolute;
  inset: 0 -4px;
}

.image-studio-module__yfWrNG__resizeHandle:hover {
  background: var(--accent);
}

@media (max-width: 768px) {
  .image-studio-module__yfWrNG__resizeHandle {
    display: none;
  }
}

.image-studio-module__yfWrNG__pickerTitle {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.image-studio-module__yfWrNG__selectButton {
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
}

.image-studio-module__yfWrNG__selectButton:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.image-studio-module__yfWrNG__cancelButton {
  color: var(--text-muted);
  border: 1px solid var(--border);
  background: none;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
}

.image-studio-module__yfWrNG__cancelButton:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

/* [project]/web/src/components/choose-image.module.css [app-client] (css) */
.choose-image-module__ZGsjSq__dropZone {
  border: 2px dashed var(--border);
  background: var(--bg-subtle);
  cursor: pointer;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  transition: border-color .15s, background .15s;
  display: flex;
}

.choose-image-module__ZGsjSq__dropZone:hover, .choose-image-module__ZGsjSq__dropZoneDragOver {
  border-color: var(--accent);
  background: var(--bg);
}

.choose-image-module__ZGsjSq__label {
  color: var(--text-muted);
  font-size: 14px;
}

.choose-image-module__ZGsjSq__actions {
  gap: 8px;
  display: flex;
}

.choose-image-module__ZGsjSq__actionButton {
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  transition: border-color .15s;
}

.choose-image-module__ZGsjSq__actionButton:hover {
  border-color: var(--accent);
}

.choose-image-module__ZGsjSq__preview {
  border-radius: 12px;
  position: relative;
  overflow: hidden;
}

.choose-image-module__ZGsjSq__previewImage {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.choose-image-module__ZGsjSq__overlay {
  opacity: 0;
  background: #00000080;
  justify-content: center;
  align-items: center;
  gap: 8px;
  transition: opacity .15s;
  display: flex;
  position: absolute;
  inset: 0;
}

.choose-image-module__ZGsjSq__preview:hover .choose-image-module__ZGsjSq__overlay {
  opacity: 1;
}

.choose-image-module__ZGsjSq__overlayButton {
  color: #111;
  cursor: pointer;
  background: #ffffffe6;
  border: none;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  transition: background .15s;
}

.choose-image-module__ZGsjSq__overlayButton:hover {
  background: #fff;
}

.choose-image-module__ZGsjSq__overlayButtonDanger {
  color: #fff;
  background: #ef4444e6;
}

.choose-image-module__ZGsjSq__overlayButtonDanger:hover {
  background: #ef4444;
}

.choose-image-module__ZGsjSq__error {
  color: var(--color-error);
  font-size: 13px;
}

.choose-image-module__ZGsjSq__busyOverlay {
  color: #ffffffeb;
  --spinner-track: #ffffff40;
  --spinner-head: #fff;
  background: #0000008c;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
  position: absolute;
  inset: 0;
}

.choose-image-module__ZGsjSq__busyLabel {
  font-size: 13px;
  font-weight: 500;
}

.choose-image-module__ZGsjSq__fileInput {
  display: none;
}

.choose-image-module__ZGsjSq__studioModalContent {
  flex-direction: column;
  height: 100%;
  display: flex;
}

/* [project]/web/src/components/studio/surfaces/assets.module.css [app-client] (css) */
.assets-module__8Hsbvq__panel {
  flex-direction: column;
  flex: 1;
  gap: 16px;
  padding: 16px;
  display: flex;
  overflow-y: auto;
}

.assets-module__8Hsbvq__empty {
  color: var(--text-muted);
  flex: 1;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  display: flex;
}

.assets-module__8Hsbvq__section h2 {
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 600;
}

.assets-module__8Hsbvq__imageGrid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  display: grid;
}

.assets-module__8Hsbvq__imageCard label {
  color: var(--text);
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 500;
  display: block;
}

.assets-module__8Hsbvq__textAsset {
  margin-bottom: 16px;
}

.assets-module__8Hsbvq__textAsset label {
  color: var(--text);
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 500;
  display: block;
}

.assets-module__8Hsbvq__textAsset textarea {
  background: var(--bg-input);
  width: 100%;
  min-height: 80px;
  color: var(--text);
  border: 1px solid var(--border);
  resize: vertical;
  border-radius: 6px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
}

.assets-module__8Hsbvq__textAsset textarea:focus {
  border-color: var(--accent);
  outline: none;
}

.assets-module__8Hsbvq__actions {
  background: var(--bg);
  border-top: 1px solid var(--border);
  align-items: center;
  gap: 8px;
  margin: 0 -16px -16px;
  padding: 12px 16px;
  display: flex;
  position: sticky;
  bottom: 0;
}

.assets-module__8Hsbvq__status {
  color: var(--text-muted);
  font-size: 13px;
}

/* [project]/web/src/components/studio/surfaces/agents/agents.module.css [app-client] (css) */
.agents-module__OEHWEG__panel {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.agents-module__OEHWEG__empty {
  color: var(--text-dim);
  flex: 1;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  display: flex;
}

.agents-module__OEHWEG__list {
  -webkit-overflow-scrolling: touch;
  border-bottom: 1px solid var(--border);
  flex-direction: row;
  gap: 8px;
  padding: 12px 14px;
  display: flex;
  overflow-x: auto;
}

.agents-module__OEHWEG__agentButton {
  border: 1px solid var(--border);
  background: var(--bg-input);
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  border-radius: 999px;
  flex-direction: column;
  flex: none;
  align-items: flex-start;
  gap: 1px;
  padding: 8px 14px;
  transition: background .12s, border-color .12s;
  display: flex;
}

.agents-module__OEHWEG__agentButton:hover {
  background: var(--bg-subtle);
}

.agents-module__OEHWEG__agentButton.agents-module__OEHWEG__selected {
  border-color: var(--accent);
  background: var(--accent-subtle);
}

.agents-module__OEHWEG__agentName {
  color: var(--text);
  font-size: 13px;
  font-weight: 600;
}

.agents-module__OEHWEG__agentMeta {
  color: var(--text-dim);
  font-size: 11px;
}

.agents-module__OEHWEG__detail {
  flex-direction: column;
  flex: 1;
  gap: 12px;
  min-height: 0;
  padding: 16px 14px;
  display: flex;
  overflow-y: auto;
}

.agents-module__OEHWEG__detail > * {
  flex-shrink: 0;
}

.agents-module__OEHWEG__detailHeader {
  align-items: baseline;
  gap: 12px;
  margin-bottom: 4px;
  display: flex;
}

.agents-module__OEHWEG__detailName {
  color: var(--text);
  font-size: 18px;
  font-weight: 700;
}

.agents-module__OEHWEG__detailMeta {
  color: var(--text-dim);
  font-size: 13px;
}

.agents-module__OEHWEG__turn {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.agents-module__OEHWEG__transientTurn {
  border-left: 3px solid var(--brand-blue);
  padding-left: 10px;
}

.agents-module__OEHWEG__transientTurn.agents-module__OEHWEG__collapsed {
  border: none;
  border-left: 3px solid var(--brand-blue);
  cursor: pointer;
  text-align: left;
  background: none;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  padding: 4px 0 4px 10px;
}

.agents-module__OEHWEG__transientTurn.agents-module__OEHWEG__collapsed:hover .agents-module__OEHWEG__collapsedSnippet {
  color: var(--text);
}

.agents-module__OEHWEG__turnTag {
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--brand-blue);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  background: none;
  border: none;
  flex: none;
  align-items: center;
  gap: 4px;
  padding: 0;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
}

.agents-module__OEHWEG__chevron {
  width: 13px;
  height: 13px;
}

.agents-module__OEHWEG__collapsedSnippet {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-dim);
  font-size: 13px;
  overflow: hidden;
}

.agents-module__OEHWEG__hint {
  border: 1px dashed var(--border);
  border-left: 3px dashed var(--brand-blue);
  border-radius: 6px;
  overflow: hidden;
}

.agents-module__OEHWEG__hintLabel {
  text-transform: uppercase;
  letter-spacing: .5px;
  width: 100%;
  color: var(--brand-blue);
  background: var(--bg-subtle);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border: none;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
}

.agents-module__OEHWEG__message {
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}

.agents-module__OEHWEG__message.agents-module__OEHWEG__user {
  border-left: 3px solid var(--color-input);
}

.agents-module__OEHWEG__message.agents-module__OEHWEG__assistant {
  border-left: 3px solid var(--accent);
}

.agents-module__OEHWEG__message.agents-module__OEHWEG__tool {
  border-left: 3px solid var(--color-tool);
}

.agents-module__OEHWEG__message.agents-module__OEHWEG__system {
  border-left: 3px solid var(--text-dim);
}

.agents-module__OEHWEG__message.agents-module__OEHWEG__summary {
  border-left: 3px solid var(--color-state);
}

.agents-module__OEHWEG__messageLabel {
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--text-muted);
  -webkit-user-select: none;
  user-select: none;
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 600;
}

.agents-module__OEHWEG__messageContent {
  font-family: var(--font-mono);
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text);
  background: var(--bg-input);
  margin: 0;
  padding: 10px 12px;
  font-size: 13px;
}

.agents-module__OEHWEG__messageContent.agents-module__OEHWEG__thinking {
  color: var(--text-dim);
  font-style: italic;
}

.agents-module__OEHWEG__toolCall {
  font-family: var(--font-mono);
  background: var(--bg-input);
  padding: 10px 12px;
  font-size: 13px;
}

.agents-module__OEHWEG__toolCallName {
  color: var(--color-tool);
  margin-bottom: 4px;
  font-weight: 600;
}

.agents-module__OEHWEG__toolCallArgs {
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text-muted);
}

.agents-module__OEHWEG__toolCallResult {
  border-top: 1px solid var(--border);
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text);
  margin-top: 6px;
  padding-top: 6px;
}

@media (min-width: 769px) {
  .agents-module__OEHWEG__panel {
    flex-direction: row;
  }

  .agents-module__OEHWEG__list {
    border-bottom: none;
    border-right: 1px solid var(--border);
    flex-direction: column;
    gap: 0;
    width: 220px;
    min-width: 220px;
    padding: 0;
    overflow: hidden auto;
  }

  .agents-module__OEHWEG__agentButton {
    white-space: normal;
    background: none;
    border: none;
    border-left: 3px solid #0000;
    border-radius: 0;
    flex: none;
    padding: 12px 16px;
  }

  .agents-module__OEHWEG__agentButton.agents-module__OEHWEG__selected {
    border-left-color: var(--accent);
    background: var(--bg-subtle);
  }

  .agents-module__OEHWEG__agentName {
    font-size: 14px;
  }

  .agents-module__OEHWEG__agentMeta {
    margin-top: 2px;
    font-size: 12px;
  }

  .agents-module__OEHWEG__detail {
    padding: 20px 24px;
  }
}

/* [project]/web/src/components/json-tree.module.css [app-client] (css) */
.json-tree-module__Ei-5MG__tree {
  --json-key: #0451a5;
  --json-string: #a31515;
  --json-number: #098658;
  --json-boolean: #00f;
  --json-null: #00f;
  font-family: var(--font-mono);
  color: var(--text);
  font-size: 12px;
  line-height: 1.6;
}

[data-theme="dark"] .json-tree-module__Ei-5MG__tree {
  --json-key: #9cdcfe;
  --json-string: #ce9178;
  --json-number: #b5cea8;
  --json-boolean: #569cd6;
  --json-null: #569cd6;
}

.json-tree-module__Ei-5MG__disclosure {
  width: 100%;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  align-items: flex-start;
  gap: 4px;
  padding: 1px 0;
  display: flex;
}

.json-tree-module__Ei-5MG__disclosure:disabled {
  cursor: default;
}

.json-tree-module__Ei-5MG__disclosure:hover {
  background: none;
}

.json-tree-module__Ei-5MG__chevron {
  color: var(--text-dim);
  flex: 0 0 12px;
  margin-top: 3px;
  display: inline-flex;
}

.json-tree-module__Ei-5MG__row {
  white-space: pre-wrap;
  word-break: break-word;
  gap: 6px;
  padding: 1px 0 1px 16px;
  display: flex;
}

.json-tree-module__Ei-5MG__key {
  color: var(--json-key);
  flex: none;
}

.json-tree-module__Ei-5MG__preview {
  color: var(--text-dim);
  white-space: pre-wrap;
  word-break: break-word;
}

.json-tree-module__Ei-5MG__children {
  border-left: 1px solid var(--border);
  margin-left: 5px;
  padding-left: 10px;
}

.json-tree-module__Ei-5MG__inline {
  vertical-align: top;
  display: inline-block;
}

.json-tree-module__Ei-5MG__inline .json-tree-module__Ei-5MG__row {
  padding-left: 0;
}

.json-tree-module__Ei-5MG__string {
  color: var(--json-string);
  white-space: pre-wrap;
  word-break: break-word;
}

.json-tree-module__Ei-5MG__link {
  color: inherit;
  text-underline-offset: 2px;
  text-decoration: underline;
}

.json-tree-module__Ei-5MG__link:hover {
  text-decoration-thickness: 2px;
}

.json-tree-module__Ei-5MG__number {
  color: var(--json-number);
}

.json-tree-module__Ei-5MG__boolean {
  color: var(--json-boolean);
}

.json-tree-module__Ei-5MG__null {
  color: var(--json-null);
  font-style: italic;
}

/* [project]/web/src/components/studio/surfaces/log-row.module.css [app-client] (css) */
.log-row-module__E2vDSq__row {
  border: none;
  border-left: 3px solid var(--text-dim);
  text-align: left;
  cursor: pointer;
  background: none;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  padding: 3px 8px;
  display: flex;
}

.log-row-module__E2vDSq__row:hover {
  background: none;
}

.log-row-module__E2vDSq__info {
  border-left-color: var(--text-dim);
}

.log-row-module__E2vDSq__warn {
  border-left-color: var(--color-response);
}

.log-row-module__E2vDSq__error {
  border-left-color: var(--color-log);
}

.log-row-module__E2vDSq__time {
  font-family: var(--font-mono);
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
  flex: none;
  font-size: 11px;
}

.log-row-module__E2vDSq__clamp {
  min-width: 0;
  font-family: var(--font-mono);
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--text);
  flex: 1;
  margin: 0;
  font-size: 12px;
  overflow: hidden;
}

.log-row-module__E2vDSq__full {
  min-width: 0;
  font-family: var(--font-mono);
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text);
  flex: 1;
  margin: 0;
  font-size: 12px;
}

/* [project]/web/src/components/studio/surfaces/raw.module.css [app-client] (css) */
.raw-module__jY-mla__panel {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.raw-module__jY-mla__toolbar {
  border-bottom: 1px solid var(--border);
  background: var(--bg-subtle);
  flex: none;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  display: flex;
}

.raw-module__jY-mla__conn {
  font-family: var(--font-mono);
  color: var(--text-muted);
  flex: none;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  display: inline-flex;
}

.raw-module__jY-mla__connDot {
  background: var(--text-dim);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.raw-module__jY-mla__conn[data-connected="true"] .raw-module__jY-mla__connDot {
  background: var(--color-output);
}

.raw-module__jY-mla__toggles {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.raw-module__jY-mla__toggle {
  border: 1px solid var(--border);
  background: var(--bg-input);
  font-family: var(--font-mono);
  color: var(--text-muted);
  white-space: nowrap;
  cursor: pointer;
  border-radius: 999px;
  flex: none;
  padding: 4px 11px;
  font-size: 11px;
  transition: border-color .12s, color .12s, background .12s;
}

.raw-module__jY-mla__toggleOn {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--text-on-accent);
}

.raw-module__jY-mla__toggle:hover {
  background: var(--bg-input);
}

.raw-module__jY-mla__toggleOn:hover {
  background: var(--accent);
}

.raw-module__jY-mla__blockHeader:hover {
  background: var(--bg-subtle);
}

.raw-module__jY-mla__respSummary:hover {
  background: none;
}

.raw-module__jY-mla__stateSection {
  border-bottom: 1px solid var(--border);
  background: var(--bg-subtle);
  flex: none;
}

.raw-module__jY-mla__stateSummary {
  font-family: var(--font-mono);
  color: var(--text-muted);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 600;
}

.raw-module__jY-mla__stateContent {
  max-height: 240px;
  padding: 0 14px 12px;
  overflow: auto;
}

.raw-module__jY-mla__empty {
  font-family: var(--font-mono);
  color: var(--text-dim);
  font-size: 12px;
  font-style: italic;
}

.raw-module__jY-mla__blocks {
  flex-direction: column;
  flex: 1;
  gap: 8px;
  min-height: 0;
  padding: 12px;
  display: flex;
  overflow-y: auto;
}

.raw-module__jY-mla__placeholder {
  text-align: center;
  color: var(--text-dim);
  flex: 1;
  justify-content: center;
  align-items: center;
  padding: 32px;
  font-size: 14px;
  display: flex;
}

.raw-module__jY-mla__block {
  border: 1px solid var(--border);
  background: var(--bg-input);
  border-radius: 8px;
  flex-shrink: 0;
  overflow: hidden;
}

.raw-module__jY-mla__block[data-status="streaming"] {
  border-color: var(--accent);
}

.raw-module__jY-mla__block[data-focus="true"] {
  border-color: var(--accent);
  animation: 1.8s ease-out raw-module__jY-mla__blockArrive;
}

@keyframes raw-module__jY-mla__blockArrive {
  0% {
    box-shadow: 0 0 0 3px var(--accent);
    background: color-mix(in srgb, var(--accent) 14%, var(--bg-input));
  }

  100% {
    background: var(--bg-input);
    box-shadow: 0 0 #0000;
  }
}

@media (prefers-reduced-motion: reduce) {
  .raw-module__jY-mla__block[data-focus="true"] {
    animation: none;
  }
}

.raw-module__jY-mla__blockHeader {
  text-align: left;
  width: 100%;
  min-height: 44px;
  font: inherit;
  color: var(--text);
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  display: flex;
}

.raw-module__jY-mla__headChevron {
  color: var(--text-dim);
  flex: none;
  display: inline-flex;
}

.raw-module__jY-mla__dot {
  border-radius: 50%;
  flex: none;
  width: 8px;
  height: 8px;
}

.raw-module__jY-mla__dotStreaming {
  background: var(--accent);
  animation: 1.2s ease-in-out infinite raw-module__jY-mla__rawPulse;
}

.raw-module__jY-mla__dotNext, .raw-module__jY-mla__dotPending, .raw-module__jY-mla__dotFinalized, .raw-module__jY-mla__dotCancelled {
  background: var(--text-dim);
}

@keyframes raw-module__jY-mla__rawPulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .3;
  }
}

.raw-module__jY-mla__seq {
  font-family: var(--font-mono);
  color: var(--text-muted);
  flex: none;
  font-size: 11px;
}

.raw-module__jY-mla__time {
  font-family: var(--font-mono);
  color: var(--text-dim);
  flex: none;
  font-size: 11px;
}

.raw-module__jY-mla__eventType {
  color: var(--text);
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 0 auto;
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
}

.raw-module__jY-mla__metrics {
  flex: none;
  align-items: center;
  gap: 9px;
  margin-left: auto;
  display: flex;
}

.raw-module__jY-mla__metric {
  font-family: var(--font-mono);
  color: var(--text-muted);
  align-items: center;
  gap: 3px;
  font-size: 11px;
  display: inline-flex;
}

.raw-module__jY-mla__metricIssue {
  color: var(--color-log);
}

.raw-module__jY-mla__sections {
  border-top: 1px solid var(--border);
  flex-direction: column;
  gap: 12px;
  padding: 10px;
  display: flex;
}

.raw-module__jY-mla__blockMore {
  border: none;
  border-top: 1px solid var(--border);
  width: 100%;
  color: var(--text-dim);
  font: inherit;
  cursor: pointer;
  background: none;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 5px;
  font-size: 11px;
  display: flex;
}

.raw-module__jY-mla__blockMore:hover {
  color: var(--text);
  background: none;
}

.raw-module__jY-mla__moreChevron {
  color: var(--text-dim);
  transition: transform .15s;
  display: inline-flex;
}

.raw-module__jY-mla__moreChevron[data-expanded] {
  transform: rotate(180deg);
}

.raw-module__jY-mla__blockMore:hover .raw-module__jY-mla__moreChevron {
  color: var(--text);
}

.raw-module__jY-mla__sectionLabel {
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--text-muted);
  margin-bottom: 5px;
  font-size: 10px;
  font-weight: 700;
}

.raw-module__jY-mla__sectionBody {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.raw-module__jY-mla__respRow {
  flex-direction: column;
  display: flex;
}

.raw-module__jY-mla__respSummary {
  text-align: left;
  width: 100%;
  min-height: 26px;
  font-family: var(--font-mono);
  color: var(--text);
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  gap: 6px;
  padding: 2px 0;
  font-size: 12px;
  display: flex;
}

.raw-module__jY-mla__respSummary svg {
  color: var(--text-muted);
  flex: none;
}

.raw-module__jY-mla__respName {
  flex: none;
  font-weight: 600;
}

.raw-module__jY-mla__respMeta {
  color: var(--text-dim);
  flex: none;
  font-size: 11px;
}

.raw-module__jY-mla__respSnippet {
  min-width: 0;
  color: var(--text-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: auto;
  overflow: hidden;
}

.raw-module__jY-mla__respLine {
  font-family: var(--font-mono);
  color: var(--text-muted);
  padding: 2px 0;
  font-size: 12px;
}

.raw-module__jY-mla__respDetail {
  flex-direction: column;
  gap: 6px;
  padding: 4px 0 6px 18px;
  display: flex;
}

.raw-module__jY-mla__part {
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}

.raw-module__jY-mla__partLabel {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--text-muted);
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  padding: 4px 8px;
  font-size: 10px;
  display: block;
}

.raw-module__jY-mla__partContent {
  font-family: var(--font-mono);
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text);
  background: var(--bg-input);
  margin: 0;
  padding: 8px;
  font-size: 12px;
}

.raw-module__jY-mla__partResult {
  font-family: var(--font-mono);
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--text-muted);
  background: var(--bg-input);
  border-top: 1px solid var(--border);
  margin: 0;
  padding: 8px;
  font-size: 12px;
}

.raw-module__jY-mla__partThinking {
  color: var(--text-dim);
  font-style: italic;
}

.raw-module__jY-mla__patchRow {
  font-family: var(--font-mono);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  padding: 2px 0;
  font-size: 12px;
  display: flex;
}

.raw-module__jY-mla__patchPath {
  color: var(--text-muted);
  flex: none;
}

.raw-module__jY-mla__patchEq {
  color: var(--text-dim);
  flex: none;
}

.raw-module__jY-mla__patchRemoved {
  color: var(--color-log);
}

.raw-module__jY-mla__jumpPill {
  background: var(--accent);
  color: var(--text-on-accent);
  font-family: var(--font-mono);
  cursor: pointer;
  z-index: 5;
  border: none;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  font-size: 12px;
  display: inline-flex;
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 3px 10px #0000002e;
}

/* [project]/web/src/components/studio/surfaces/logs.module.css [app-client] (css) */
.logs-module__2K2hwG__panel {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding-bottom: 16px;
  display: flex;
  overflow-y: auto;
}

.logs-module__2K2hwG__section {
  flex-direction: column;
  display: flex;
}

.logs-module__2K2hwG__head {
  z-index: 1;
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 8px 12px;
  display: flex;
  position: sticky;
  top: 0;
}

.logs-module__2K2hwG__title {
  font-family: var(--font-mono);
  color: var(--text);
  font-size: 12px;
  font-weight: 600;
}

.logs-module__2K2hwG__meta {
  align-items: center;
  gap: 8px;
  display: flex;
}

.logs-module__2K2hwG__recent {
  font-family: var(--font-mono);
  color: var(--text-dim);
  font-size: 11px;
}

.logs-module__2K2hwG__copy {
  color: var(--text-dim);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 4px;
  align-items: center;
  padding: 2px;
  display: flex;
}

.logs-module__2K2hwG__copy:hover {
  color: var(--text);
  background: var(--bg-input);
}

.logs-module__2K2hwG__list {
  flex-direction: column;
  gap: 1px;
  padding: 6px 4px;
  display: flex;
}

.logs-module__2K2hwG__empty {
  font-family: var(--font-mono);
  color: var(--text-dim);
  padding: 12px 14px;
  font-size: 12px;
  font-style: italic;
}

/* [project]/web/src/components/studio/surfaces/details/publish-action.module.css [app-client] (css) */
.publish-action-module__hkDQOG__footer {
  border-top: 1px solid var(--border);
  background: var(--bg-subtle);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  display: flex;
}

.publish-action-module__hkDQOG__left {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.publish-action-module__hkDQOG__right {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.publish-action-module__hkDQOG__primary {
  background: var(--accent);
  color: var(--text-on-accent);
  cursor: pointer;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s;
  display: inline-flex;
}

.publish-action-module__hkDQOG__primary:hover:not(:disabled) {
  background: var(--accent-hover);
}

.publish-action-module__hkDQOG__primary:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.publish-action-module__hkDQOG__dangerPrimary {
  background: #c25656;
}

.publish-action-module__hkDQOG__dangerPrimary:hover:not(:disabled) {
  background: #a94646;
}

.publish-action-module__hkDQOG__unpublishBtn {
  border: 1px solid var(--border);
  color: var(--color-error);
  cursor: pointer;
  background: none;
  border-radius: 6px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  transition: background .15s;
}

.publish-action-module__hkDQOG__unpublishBtn:hover {
  background: var(--bg-input);
}

.publish-action-module__hkDQOG__cancelBtn {
  border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer;
  background: none;
  border-radius: 6px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 500;
  transition: background .15s;
}

.publish-action-module__hkDQOG__cancelBtn:hover:not(:disabled) {
  background: var(--bg-input);
}

.publish-action-module__hkDQOG__upToDate {
  color: var(--text-muted);
  align-items: center;
  gap: 4px;
  font-size: 13px;
  display: inline-flex;
}

.publish-action-module__hkDQOG__error {
  color: var(--color-error);
  font-size: 13px;
}

.publish-action-module__hkDQOG__confirmMessage {
  color: var(--text);
  font-size: 14px;
}

/* [project]/web/src/components/studio/surfaces/details/details.module.css [app-client] (css) */
.details-module__3DbosG__panel {
  flex-direction: column;
  flex: 1;
  min-height: 0;
  display: flex;
}

.details-module__3DbosG__scroll {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}

.details-module__3DbosG__form {
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  display: flex;
}

.details-module__3DbosG__headerRow {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.details-module__3DbosG__heading {
  color: var(--text);
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.details-module__3DbosG__status {
  color: var(--text-muted);
  min-height: 16px;
  font-size: 12px;
}

.details-module__3DbosG__statusError {
  color: var(--color-error);
}

.details-module__3DbosG__statusSaved {
  color: var(--text-muted);
}

.details-module__3DbosG__field {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.details-module__3DbosG__label {
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
}

.details-module__3DbosG__hint {
  color: var(--text-muted);
  font-size: 12px;
}

.details-module__3DbosG__input, .details-module__3DbosG__textarea, .details-module__3DbosG__select {
  border: 1px solid var(--border);
  background: var(--bg-input);
  width: 100%;
  color: var(--text);
  font: inherit;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 14px;
}

.details-module__3DbosG__input:focus, .details-module__3DbosG__textarea:focus, .details-module__3DbosG__select:focus {
  border-color: var(--accent);
  outline: none;
}

.details-module__3DbosG__textarea {
  resize: vertical;
  min-height: 80px;
}

.details-module__3DbosG__thumbnail {
  aspect-ratio: 3 / 2;
  width: 240px;
}

.details-module__3DbosG__loading {
  color: var(--text-muted);
  flex: 1;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  display: flex;
}

/* [project]/web/src/components/studio/surfaces/install.module.css [app-client] (css) */
.install-module__ft-QzW__panel {
  -webkit-overflow-scrolling: touch;
  min-height: 0;
  padding: 24px 20px calc(28px + env(safe-area-inset-bottom, 0px));
  flex-direction: column;
  flex: 1;
  gap: 18px;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  overflow-y: auto;
}

.install-module__ft-QzW__hero {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  display: flex;
}

.install-module__ft-QzW__tile {
  background: var(--bg-input);
  border: 1px solid var(--border);
  width: 84px;
  height: 84px;
  box-shadow: 0 10px 26px -10px #1a161447, 0 0 0 5px var(--accent-subtle);
  border-radius: 21px;
  place-items: center;
  display: grid;
  overflow: hidden;
}

.install-module__ft-QzW__tile img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.install-module__ft-QzW__title {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
}

.install-module__ft-QzW__sub {
  max-width: 36ch;
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.55;
}

.install-module__ft-QzW__tabs {
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: 999px;
  gap: 4px;
  padding: 4px;
  display: flex;
}

.install-module__ft-QzW__tab {
  color: var(--text-muted);
  white-space: nowrap;
  background: none;
  border-radius: 999px;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 9px 8px;
  font-size: 13px;
  font-weight: 500;
  transition: color .16s, background .16s;
  display: inline-flex;
  position: relative;
}

.install-module__ft-QzW__tab:hover {
  color: var(--text);
  background: none;
}

.install-module__ft-QzW__tabActive, .install-module__ft-QzW__tabActive:hover {
  background: var(--bg-input);
  color: var(--text);
  box-shadow: 0 1px 3px #1a16141f;
}

.install-module__ft-QzW__youDot {
  background: var(--accent);
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.install-module__ft-QzW__note {
  background: var(--accent-subtle);
  border: 1px solid var(--border);
  color: var(--text-muted);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13.5px;
  line-height: 1.5;
}

.install-module__ft-QzW__note strong {
  color: var(--text);
  font-weight: 600;
}

.install-module__ft-QzW__steps {
  flex-direction: column;
  gap: 10px;
  list-style: none;
  display: flex;
}

.install-module__ft-QzW__step {
  border: 1px solid var(--border);
  background: var(--bg-input);
  border-radius: 14px;
  align-items: flex-start;
  gap: 14px;
  padding: 15px 16px;
  display: flex;
}

.install-module__ft-QzW__num {
  background: var(--accent-subtle);
  width: 26px;
  height: 26px;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 13.5px;
  font-weight: 700;
  display: grid;
}

.install-module__ft-QzW__stepBody {
  color: var(--text);
  padding-top: 2px;
  font-size: 14.5px;
  line-height: 1.55;
}

.install-module__ft-QzW__stepBody strong {
  font-weight: 600;
}

.install-module__ft-QzW__glyph {
  vertical-align: -3px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  width: 24px;
  height: 24px;
  color: var(--text);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  margin: 0 1px;
  display: inline-flex;
}

.install-module__ft-QzW__done {
  background: var(--status-published-bg);
  border: 1px solid var(--status-published);
  border-radius: 14px;
  align-items: center;
  gap: 14px;
  padding: 18px;
  display: flex;
}

.install-module__ft-QzW__doneMark {
  background: var(--status-published);
  color: #fff;
  border-radius: 50%;
  flex: none;
  place-items: center;
  width: 36px;
  height: 36px;
  display: grid;
}

.install-module__ft-QzW__done p {
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
}

@media (prefers-reduced-motion: no-preference) {
  .install-module__ft-QzW__step {
    animation: .4s cubic-bezier(.22, 1, .36, 1) both install-module__ft-QzW__rise;
  }

  .install-module__ft-QzW__step:first-child {
    animation-delay: 30ms;
  }

  .install-module__ft-QzW__step:nth-child(2) {
    animation-delay: .1s;
  }

  .install-module__ft-QzW__step:nth-child(3) {
    animation-delay: .17s;
  }

  @keyframes install-module__ft-QzW__rise {
    from {
      opacity: 0;
      transform: translateY(8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* [project]/web/src/components/studio/surface-host.module.css [app-client] (css) */
.surface-host-module__U-0FUa__surface {
  padding-bottom: var(--keyboard-inset, 0px);
  z-index: 20;
  background: var(--bg);
  flex-direction: column;
  display: flex;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.surface-host-module__U-0FUa__header {
  border-bottom: 1px solid var(--border);
  background: var(--bg-subtle);
  flex: none;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.surface-host-module__U-0FUa__back {
  border: 1px solid var(--border);
  background: var(--bg-input);
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 999px;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
  padding: 6px 12px 6px 9px;
  font-size: 13px;
  font-weight: 500;
  transition: background .12s, color .12s, border-color .12s;
  display: inline-flex;
}

.surface-host-module__U-0FUa__back:hover {
  background: var(--bg-subtle);
  color: var(--text);
  border-color: color-mix(in srgb, var(--border) 60%, var(--text-dim));
}

.surface-host-module__U-0FUa__title {
  font-family: var(--font-display);
  letter-spacing: -.01em;
  color: var(--text);
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

/* [project]/web/src/components/studio/studio-shell.module.css [app-client] (css) */
.studio-shell-module__2jHalq__app {
  --bar-h: 52px;
  --studio-ease: cubic-bezier(.22, 1, .36, 1);
  z-index: 100;
  flex-direction: column;
  display: flex;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.studio-shell-module__2jHalq__stage {
  flex: 1;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

.studio-shell-module__2jHalq__gameRegion {
  position: absolute;
  inset: 0;
}

@media (min-width: 980px) {
  .studio-shell-module__2jHalq__stage {
    display: flex;
  }

  .studio-shell-module__2jHalq__gameRegion {
    flex: 1;
    min-width: 0;
    position: relative;
    inset: auto;
  }

  .studio-shell-module__2jHalq__stage.studio-shell-module__2jHalq__agentSolo .studio-shell-module__2jHalq__gameRegion {
    display: none;
  }
}

/* [project]/web/src/app/games/[gameSlug]/lobby.module.css [app-client] (css) */
.lobby-module__A4dUgW__lobby {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 24px 0;
}

.lobby-module__A4dUgW__previewBanner {
  width: 100%;
  max-width: 960px;
  color: var(--text);
  background: var(--accent-subtle);
  border: 1px solid var(--border);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 12px auto 0;
  padding: 10px 16px;
  font-size: 13px;
  display: flex;
}

.lobby-module__A4dUgW__previewBannerLink {
  color: var(--accent);
  white-space: nowrap;
  align-items: center;
  gap: 4px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.lobby-module__A4dUgW__previewBannerLink:hover {
  text-decoration: underline;
}

.lobby-module__A4dUgW__hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 36px;
  display: grid;
}

.lobby-module__A4dUgW__cover {
  aspect-ratio: 3 / 2;
  background: var(--bg-subtle);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 16px #0000000f;
}

.lobby-module__A4dUgW__coverImg {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.lobby-module__A4dUgW__coverPlaceholder {
  background: linear-gradient(135deg, var(--bg-subtle), var(--accent-subtle));
  width: 100%;
  height: 100%;
  color: var(--text-dim);
  justify-content: center;
  align-items: center;
  display: flex;
}

.lobby-module__A4dUgW__heroBody {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.lobby-module__A4dUgW__eyebrow {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 600;
  display: inline-flex;
}

.lobby-module__A4dUgW__title {
  letter-spacing: -.015em;
  margin: 0 0 14px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
}

.lobby-module__A4dUgW__byline {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 14px;
  display: flex;
}

.lobby-module__A4dUgW__author {
  color: var(--text);
  font-weight: 500;
  text-decoration: none;
}

.lobby-module__A4dUgW__author:hover {
  color: var(--accent);
}

.lobby-module__A4dUgW__bylineSep {
  color: var(--text-dim);
}

.lobby-module__A4dUgW__tags {
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px;
  display: flex;
}

.lobby-module__A4dUgW__tag {
  border: 1px solid var(--border);
  color: var(--text-muted);
  border-radius: 9999px;
  padding: 3px 10px;
  font-size: 12px;
}

.lobby-module__A4dUgW__summary {
  color: var(--text);
  background: var(--accent-subtle);
  border-left: 3px solid var(--accent);
  border-radius: 10px;
  margin: 0 0 24px;
  padding: 16px 18px;
  font-size: 15px;
  line-height: 1.6;
}

.lobby-module__A4dUgW__actions {
  align-items: center;
  gap: 10px;
  margin-top: auto;
  display: flex;
}

.lobby-module__A4dUgW__actions form {
  display: contents;
}

.lobby-module__A4dUgW__btnPrimary, .lobby-module__A4dUgW__btnGhost {
  cursor: pointer;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
  display: inline-flex;
}

.lobby-module__A4dUgW__btnPrimary {
  background: var(--accent);
  color: var(--text-on-accent);
}

.lobby-module__A4dUgW__btnPrimary:hover {
  background: var(--accent-hover);
}

.lobby-module__A4dUgW__btnPrimary:disabled {
  cursor: default;
  opacity: .85;
  --spinner-track: color-mix(in srgb, var(--text-on-accent) 35%, transparent);
  --spinner-head: var(--text-on-accent);
}

.lobby-module__A4dUgW__btnGhost {
  color: var(--text);
  border-color: var(--border);
  background: none;
}

.lobby-module__A4dUgW__btnGhost:hover {
  border-color: var(--accent);
  background: var(--bg-subtle);
}

.lobby-module__A4dUgW__about {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 24px 64px;
}

.lobby-module__A4dUgW__aboutTitle {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 14px;
  font-size: 11px;
  font-weight: 600;
}

.lobby-module__A4dUgW__aboutBody {
  color: var(--text);
  white-space: pre-wrap;
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 720px) {
  .lobby-module__A4dUgW__lobby, .lobby-module__A4dUgW__about {
    padding-left: 16px;
    padding-right: 16px;
  }

  .lobby-module__A4dUgW__lobby {
    padding-top: 24px;
  }

  .lobby-module__A4dUgW__hero {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .lobby-module__A4dUgW__title {
    font-size: 28px;
  }

  .lobby-module__A4dUgW__actions {
    flex-wrap: wrap;
  }
}

/*# sourceMappingURL=web_b232ec90._.css.map*/