/* [next]/internal/font/google/fraunces_b1caf66a.module.css [app-client] (css) */
@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/85fcf895b86d74a6-s.3eba0a3c.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5307092570128b5a-s.3c97c9fa.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/b67966e0b83b2cd0-s.p.85e63c96.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces Fallback;
  src: local(Times New Roman);
  ascent-override: 84.71%;
  descent-override: 22.09%;
  line-gap-override: 0.0%;
  size-adjust: 115.45%;
}

.fraunces_b1caf66a-module__AiKStq__className {
  font-family: Fraunces, Fraunces Fallback;
  font-style: normal;
}

.fraunces_b1caf66a-module__AiKStq__variable {
  --font-display: "Fraunces", "Fraunces Fallback";
}

/* [next]/internal/font/google/newsreader_e704f742.module.css [app-client] (css) */
@font-face {
  font-family: Newsreader;
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/79e9e0e3b9220e46-s.12c18379.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Newsreader;
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/e62850744c7f266e-s.98408aef.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Newsreader;
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/9433d1a810498265-s.p.8f3b692e.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/150f724d70372c02-s.cfe419c8.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/750c737482d9de2f-s.1c29fe1a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/5f402bd2d8eef81a-s.p.b72f0478.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Newsreader Fallback;
  src: local(Times New Roman);
  ascent-override: 69.68%;
  descent-override: 25.12%;
  line-gap-override: 0.0%;
  size-adjust: 105.48%;
}

.newsreader_e704f742-module__5LjkXa__className {
  font-family: Newsreader, Newsreader Fallback;
}

.newsreader_e704f742-module__5LjkXa__variable {
  --font-prose: "Newsreader", "Newsreader Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_ffb7c831.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/13bf9871fe164e7f-s.f2220059.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/cc545e633e20c56d-s.f6f1950f.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/71b036adf157cdcf-s.bd5f4d11.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/89b21bb081cb7469-s.51c18f09.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/3fe682a82f50d426-s.23358719.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/70bc3e132a0a741e-s.p.15008bfb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_ffb7c831-module__OHfnOG__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_ffb7c831-module__OHfnOG__variable {
  --font-mono-docs: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [project]/web/src/components/feedback/feedback-form.module.css [app-client] (css) */
.feedback-form-module__Z_1WYG__form {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.feedback-form-module__Z_1WYG__textarea {
  resize: vertical;
  min-height: 120px;
  padding: 10px 12px;
}

.feedback-form-module__Z_1WYG__input {
  padding: 10px 12px;
}

.feedback-form-module__Z_1WYG__submit {
  align-self: flex-start;
  margin-top: 4px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
}

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

.feedback-form-module__Z_1WYG__confirmation {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px 8px;
  display: flex;
}

.feedback-form-module__Z_1WYG__check {
  background: var(--bg-tint-success);
  width: 40px;
  height: 40px;
  color: var(--color-success);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.feedback-form-module__Z_1WYG__confirmText {
  color: var(--text);
  font-size: 14px;
}

.feedback-form-module__Z_1WYG__secondary {
  color: var(--text-muted);
  border: 1px solid var(--border);
  background: var(--bg);
  cursor: pointer;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.feedback-form-module__Z_1WYG__secondary:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

/* [project]/web/src/components/feedback/feedback-modal.module.css [app-client] (css) */
.feedback-modal-module__qobMPG__backdrop {
  z-index: 1000;
  padding: 16px;
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  background: #00000080;
  justify-content: center;
  align-items: center;
  animation: .12s ease-out feedback-modal-module__qobMPG__fade;
  display: flex;
  position: fixed;
  inset: 0;
}

.feedback-modal-module__qobMPG__modal {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  width: 100%;
  max-width: 460px;
  max-height: 90dvh;
  padding: 20px;
  overflow-y: auto;
  box-shadow: 0 12px 40px #00000040;
}

.feedback-modal-module__qobMPG__header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
  display: flex;
}

.feedback-modal-module__qobMPG__title {
  font-size: 17px;
  font-weight: 700;
}

.feedback-modal-module__qobMPG__close {
  width: 30px;
  height: 30px;
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

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

.feedback-modal-module__qobMPG__subtitle {
  color: var(--text-muted);
  margin-bottom: 16px;
  font-size: 13px;
}

@keyframes feedback-modal-module__qobMPG__fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* [project]/web/src/components/toast/toast.module.css [app-client] (css) */
.toast-module__GQfF7a__viewport {
  top: max(16px, env(safe-area-inset-top));
  right: max(16px, env(safe-area-inset-right));
  z-index: 500;
  pointer-events: none;
  flex-direction: column;
  gap: 10px;
  width: min(360px, 100vw - 32px);
  display: flex;
  position: fixed;
}

.toast-module__GQfF7a__toast {
  pointer-events: auto;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-left-width: 3px;
  border-radius: 10px;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 12px 12px 14px;
  animation: .18s ease-out toast-module__GQfF7a__toast-in;
  display: flex;
  box-shadow: 0 6px 24px #0000002e;
}

.toast-module__GQfF7a__toast[data-tone="error"] {
  border-left-color: var(--color-error);
  background: var(--bg-tint-error);
}

.toast-module__GQfF7a__toast[data-tone="success"] {
  border-left-color: var(--color-success);
  background: var(--bg-tint-success);
}

.toast-module__GQfF7a__toast[data-tone="info"] {
  border-left-color: var(--accent);
}

@keyframes toast-module__GQfF7a__toast-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

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

@media (prefers-reduced-motion: reduce) {
  .toast-module__GQfF7a__toast {
    animation: none;
  }
}

.toast-module__GQfF7a__body {
  flex: auto;
  min-width: 0;
}

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

.toast-module__GQfF7a__message {
  color: var(--text-muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.toast-module__GQfF7a__action {
  color: var(--text-link);
  cursor: pointer;
  background: none;
  border: none;
  margin-top: 8px;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
}

.toast-module__GQfF7a__action:hover {
  color: var(--accent-hover);
  background: none;
}

.toast-module__GQfF7a__close {
  color: var(--text-dim);
  cursor: pointer;
  background: none;
  border: none;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 2px;
  display: inline-flex;
}

.toast-module__GQfF7a__close:hover {
  color: var(--text);
  background: none;
}

/* [project]/web/src/components/dev-banner.module.css [app-client] (css) */
.dev-banner-module__TL8u5q__banner {
  color: #fff;
  text-align: center;
  background: #b45309;
  padding: 4px 16px;
  font-size: 12px;
  line-height: 1.4;
}

/* [project]/web/src/components/email-bounce-banner.module.css [app-client] (css) */
.email-bounce-banner-module__Oe6LYG__banner {
  color: #fff;
  text-align: center;
  background: #9f1239;
  padding: 4px 16px;
  font-size: 12px;
  line-height: 1.4;
}

.email-bounce-banner-module__Oe6LYG__email {
  font-weight: 600;
}

/* [project]/web/src/components/nav-links.module.css [app-client] (css) */
.nav-links-module__5RASJW__links {
  gap: 4px;
  height: 100%;
  display: flex;
}

.nav-links-module__5RASJW__link {
  color: var(--text-muted);
  border-bottom: 2px solid #0000;
  align-items: center;
  padding: 0 12px;
  font-size: 14px;
  transition: color .15s;
  display: flex;
}

.nav-links-module__5RASJW__link:hover {
  color: var(--text);
}

.nav-links-module__5RASJW__link.nav-links-module__5RASJW__active {
  color: var(--text);
  border-bottom-color: var(--accent);
}

@media (max-width: 768px) {
  .nav-links-module__5RASJW__links {
    display: none;
  }
}

/* [project]/web/src/components/sheet.module.css [app-client] (css) */
.sheet-module__oo1pEW__backdrop {
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  background: #00000080;
  justify-content: center;
  align-items: flex-end;
  transition: opacity .2s, visibility .2s;
  display: flex;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.sheet-module__oo1pEW__backdrop.sheet-module__oo1pEW__open {
  opacity: 1;
  visibility: visible;
}

.sheet-module__oo1pEW__panel {
  background: var(--bg);
  border: 1px solid var(--border);
  width: 100%;
  max-width: 480px;
  max-height: min(85dvh, 100%);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  transition: transform .25s cubic-bezier(.32, .72, 0, 1);
  overflow-y: auto;
  transform: translateY(100%);
  box-shadow: 0 -8px 32px #0003;
}

.sheet-module__oo1pEW__backdrop.sheet-module__oo1pEW__open .sheet-module__oo1pEW__panel {
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .sheet-module__oo1pEW__backdrop, .sheet-module__oo1pEW__panel {
    transition: none;
  }
}

/* [project]/web/src/components/credits-popover.module.css [app-client] (css) */
.credits-popover-module__YMipQa__menu {
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 10px;
  width: 296px;
  overflow: hidden;
  box-shadow: 0 8px 28px #00000021;
}

.credits-popover-module__YMipQa__sheet {
  padding: 6px 0 2px;
}

.credits-popover-module__YMipQa__head {
  padding: 14px 16px 12px;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__head {
  padding: 16px 18px 12px;
}

.credits-popover-module__YMipQa__eyebrow {
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--text-dim);
  font-size: 11px;
  font-weight: 600;
}

.credits-popover-module__YMipQa__total {
  letter-spacing: -.01em;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.25;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__total {
  font-size: 28px;
}

.credits-popover-module__YMipQa__rows {
  border-top: 1px solid var(--border);
  margin: 0;
  padding: 6px 0;
  list-style: none;
}

.credits-popover-module__YMipQa__row {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 8px 16px;
  display: flex;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__row {
  padding: 10px 18px;
}

.credits-popover-module__YMipQa__row + .credits-popover-module__YMipQa__row {
  border-top: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
}

.credits-popover-module__YMipQa__rowText {
  flex-direction: column;
  display: flex;
}

.credits-popover-module__YMipQa__name {
  color: var(--text);
  font-size: 13px;
  font-weight: 550;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__name {
  font-size: 15px;
}

.credits-popover-module__YMipQa__when {
  color: var(--text-muted);
  margin-top: 1px;
  font-size: 12px;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__when {
  font-size: 13px;
}

.credits-popover-module__YMipQa__soon {
  color: var(--color-warning);
  font-weight: 550;
}

.credits-popover-module__YMipQa__amount {
  color: var(--text);
  font-variant-numeric: tabular-nums;
  font-size: 14px;
  font-weight: 600;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__amount {
  font-size: 16px;
}

.credits-popover-module__YMipQa__empty {
  color: var(--text-muted);
  border-top: 1px solid var(--border);
  padding: 14px 16px;
  font-size: 13px;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__empty {
  padding: 14px 18px;
  font-size: 15px;
}

.credits-popover-module__YMipQa__foot {
  border-top: 1px solid var(--border);
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px 14px;
  display: flex;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__foot {
  padding: 12px 18px 14px;
}

.credits-popover-module__YMipQa__hint {
  color: var(--text-dim);
  font-size: 11.5px;
  line-height: 1.45;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__hint {
  font-size: 12.5px;
}

.credits-popover-module__YMipQa__buyButton {
  text-align: center;
  background: var(--accent);
  color: var(--text-on-accent);
  border-radius: 7px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 600;
  display: block;
}

.credits-popover-module__YMipQa__sheet .credits-popover-module__YMipQa__buyButton {
  padding: 10px 12px;
  font-size: 14px;
}

.credits-popover-module__YMipQa__buyButton:hover {
  background: var(--accent-hover);
}

.credits-popover-module__YMipQa__buyButton:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* [project]/web/src/components/credit-badge.module.css [app-client] (css) */
.credit-badge-module__EnulBa__wrap {
  align-items: center;
  display: flex;
  position: relative;
}

.credit-badge-module__EnulBa__badge {
  color: var(--text-muted);
  background: var(--bg-subtle);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.credit-badge-module__EnulBa__badge:hover {
  color: var(--text);
  background: var(--bg-subtle);
}

.credit-badge-module__EnulBa__badge:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.credit-badge-module__EnulBa__expiring, .credit-badge-module__EnulBa__expiring:hover {
  color: var(--color-warning);
}

.credit-badge-module__EnulBa__dropdown {
  z-index: 100;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
}

/* [project]/web/src/components/notification-bell.module.css [app-client] (css) */
.notification-bell-module__f8PaPG__wrap {
  align-items: center;
  display: flex;
  position: relative;
}

.notification-bell-module__f8PaPG__bell {
  width: 34px;
  height: 34px;
  color: var(--text);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
  position: relative;
}

.notification-bell-module__f8PaPG__bell:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.notification-bell-module__f8PaPG__badge {
  color: #fff;
  background: var(--accent);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  position: absolute;
  top: -2px;
  right: -2px;
}

.notification-bell-module__f8PaPG__pulseDot {
  background: var(--accent);
  border: 2px solid var(--bg-subtle);
  border-radius: 50%;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 1px;
  right: 1px;
}

@media (prefers-reduced-motion: no-preference) {
  .notification-bell-module__f8PaPG__pulseDot {
    animation: 1.8s ease-out infinite notification-bell-module__f8PaPG__bell-pulse;
  }

  @keyframes notification-bell-module__f8PaPG__bell-pulse {
    0% {
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent);
    }

    70% {
      box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 0%, transparent);
    }

    100% {
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent);
    }
  }
}

.notification-bell-module__f8PaPG__dropdown {
  background: var(--bg);
  border: 1px solid var(--border);
  z-index: 100;
  border-radius: 12px;
  flex-direction: column;
  width: min(360px, 100vw - 24px);
  max-height: min(70vh, 480px);
  display: flex;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  overflow: hidden;
  box-shadow: 0 8px 28px #0000002e;
}

.notification-bell-module__f8PaPG__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.notification-bell-module__f8PaPG__row {
  text-align: left;
  width: 100%;
  color: var(--text);
  cursor: pointer;
  border: none;
  border-bottom: 1px solid var(--border);
  background: none;
  gap: 10px;
  padding: 12px 14px;
  display: flex;
}

.notification-bell-module__f8PaPG__row:hover {
  background: color-mix(in srgb, currentColor 6%, transparent);
}

.notification-bell-module__f8PaPG__unread {
  background: color-mix(in srgb, var(--accent) 7%, transparent);
}

.notification-bell-module__f8PaPG__unread:hover {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.notification-bell-module__f8PaPG__thumb {
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
}

.notification-bell-module__f8PaPG__rowBody {
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  display: flex;
}

.notification-bell-module__f8PaPG__rowTitle {
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.notification-bell-module__f8PaPG__unreadDot {
  background: var(--accent);
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
}

.notification-bell-module__f8PaPG__rowText {
  color: var(--text-muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 12px;
  display: -webkit-box;
  overflow: hidden;
}

/* [project]/web/src/components/skeleton.module.css [app-client] (css) */
.skeleton-module__Wv9Jvq__block {
  border-radius: 8px;
}

.skeleton-module__Wv9Jvq__srOnly {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

/* [project]/web/src/components/activity-panel.module.css [app-client] (css) */
.activity-panel-module__CaVNha__root {
  min-height: 0;
}

.activity-panel-module__CaVNha__panel {
  max-height: inherit;
  flex-direction: column;
  min-height: 0;
  display: flex;
}

.activity-panel-module__CaVNha__page {
  background: var(--bg);
  min-height: 100dvh;
  padding-bottom: 72px;
}

.activity-panel-module__CaVNha__header {
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  display: flex;
}

.activity-panel-module__CaVNha__page .activity-panel-module__CaVNha__header {
  background: var(--bg);
  padding: 14px 16px;
}

.activity-panel-module__CaVNha__back {
  width: 32px;
  height: 32px;
  color: var(--text);
  justify-content: center;
  align-items: center;
  margin-left: -6px;
  display: flex;
}

.activity-panel-module__CaVNha__title {
  font-size: 15px;
  font-weight: 700;
}

.activity-panel-module__CaVNha__page .activity-panel-module__CaVNha__title {
  font-size: 18px;
}

.activity-panel-module__CaVNha__headerSpacer {
  flex: 1;
}

.activity-panel-module__CaVNha__refresh {
  width: 30px;
  height: 30px;
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.activity-panel-module__CaVNha__refresh:hover:not(:disabled) {
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.activity-panel-module__CaVNha__refresh:disabled {
  color: var(--text-dim);
  cursor: default;
  background: none;
}

.activity-panel-module__CaVNha__markAll {
  color: var(--accent);
  cursor: pointer;
  background: none;
  border: none;
  padding: 2px 4px;
  font-size: 12px;
  font-weight: 600;
}

.activity-panel-module__CaVNha__markAll:hover {
  text-decoration: underline;
}

.activity-panel-module__CaVNha__panel .activity-panel-module__CaVNha__scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.activity-panel-module__CaVNha__sectionLabel {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-muted);
  align-items: center;
  gap: 7px;
  padding: 14px 16px 8px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.activity-panel-module__CaVNha__liveLabelDot {
  background: var(--accent);
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.activity-panel-module__CaVNha__liveList {
  padding: 0 14px;
}

.activity-panel-module__CaVNha__liveCard {
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
  background: color-mix(in srgb, var(--accent) 5%, transparent);
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  padding: 10px 11px;
  display: flex;
}

.activity-panel-module__CaVNha__liveCard:hover {
  background: color-mix(in srgb, var(--accent) 9%, transparent);
}

.activity-panel-module__CaVNha__liveThumb {
  object-fit: cover;
  border-radius: 10px;
  flex: none;
  width: 48px;
  height: 48px;
}

.activity-panel-module__CaVNha__liveThumbPlaceholder {
  background: var(--bg-subtle);
  color: var(--text-dim);
  justify-content: center;
  align-items: center;
  display: flex;
}

.activity-panel-module__CaVNha__liveBody {
  flex-direction: column;
  flex: 1;
  gap: 3px;
  min-width: 0;
  display: flex;
}

.activity-panel-module__CaVNha__liveName {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 700;
  overflow: hidden;
}

.activity-panel-module__CaVNha__liveMeta {
  color: var(--text-muted);
  align-items: center;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.activity-panel-module__CaVNha__liveMetaDot {
  background: var(--accent);
  border-radius: 50%;
  flex: none;
  width: 7px;
  height: 7px;
}

.activity-panel-module__CaVNha__openBtn {
  color: var(--text-on-accent);
  background: var(--accent);
  border-radius: 8px;
  flex: none;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
}

.activity-panel-module__CaVNha__empty {
  text-align: center;
  color: var(--text-muted);
  padding: 20px 14px 28px;
  font-size: 13px;
}

.activity-panel-module__CaVNha__skeletonRow {
  border: 1px solid var(--border);
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  padding: 10px 11px;
  display: flex;
}

.activity-panel-module__CaVNha__skeletonThumb {
  border-radius: 10px;
  flex: none;
  width: 48px;
  height: 48px;
}

.activity-panel-module__CaVNha__skeletonBody {
  flex-direction: column;
  flex: 1;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.activity-panel-module__CaVNha__skeletonName {
  width: 60%;
  height: 14px;
}

.activity-panel-module__CaVNha__skeletonMeta {
  width: 40%;
  height: 12px;
}

@media (prefers-reduced-motion: no-preference) {
  .activity-panel-module__CaVNha__spinning {
    animation: .8s linear infinite activity-panel-module__CaVNha__activity-spin;
  }

  @keyframes activity-panel-module__CaVNha__activity-spin {
    to {
      transform: rotate(360deg);
    }
  }

  .activity-panel-module__CaVNha__liveLabelDot, .activity-panel-module__CaVNha__liveMetaDot {
    animation: 1.8s ease-out infinite activity-panel-module__CaVNha__activity-pulse;
  }

  @keyframes activity-panel-module__CaVNha__activity-pulse {
    0% {
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent);
    }

    70% {
      box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 0%, transparent);
    }

    100% {
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent);
    }
  }
}

/* [project]/web/src/components/theme-toggle.module.css [app-client] (css) */
.theme-toggle-module__h_FdKG__toggle {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 6px;
  display: flex;
}

.theme-toggle-module__h_FdKG__toggle:hover {
  color: var(--text);
  background: var(--bg-subtle);
}

/* [project]/web/src/components/feedback/feedback-launcher.module.css [app-client] (css) */
.feedback-launcher-module__4H9Trq__launcher {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 500;
  transition: color .15s, background .15s;
  display: inline-flex;
}

.feedback-launcher-module__4H9Trq__launcher:hover {
  color: var(--text);
  background: var(--bg-input);
}

@media (max-width: 768px) {
  .feedback-launcher-module__4H9Trq__label {
    display: none;
  }
}

/* [project]/web/src/components/sign-out-button.module.css [app-client] (css) */
.sign-out-button-module___3ASjG__button {
  color: var(--text-muted);
  background: none;
  border-radius: 4px;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  font-size: 13px;
  display: flex;
}

.sign-out-button-module___3ASjG__button:hover {
  background: var(--bg-subtle);
  color: var(--text);
}

/* [project]/web/src/components/account-menu.module.css [app-client] (css) */
.account-menu-module__tcWIxq__menu {
  padding: 4px 0;
}

.account-menu-module__tcWIxq__sheet {
  padding: 8px 0 4px;
}

.account-menu-module__tcWIxq__identity {
  color: var(--text);
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  transition: background .1s;
  display: flex;
}

.account-menu-module__tcWIxq__sheet .account-menu-module__tcWIxq__identity {
  padding: 14px 18px;
}

.account-menu-module__tcWIxq__identity:hover {
  background: var(--bg-subtle);
}

.account-menu-module__tcWIxq__avatar {
  background: var(--accent);
  width: 36px;
  height: 36px;
  color: var(--text-on-accent);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.account-menu-module__tcWIxq__identityText {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.account-menu-module__tcWIxq__name {
  color: var(--text);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
}

.account-menu-module__tcWIxq__email {
  color: var(--text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 2px;
  font-size: 12px;
  overflow: hidden;
}

.account-menu-module__tcWIxq__divider {
  background: var(--border);
  height: 1px;
  margin: 4px 0;
}

.account-menu-module__tcWIxq__item {
  width: 100%;
  color: var(--text-muted);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 0;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 400;
  transition: background .1s, color .1s;
  display: flex;
}

.account-menu-module__tcWIxq__sheet .account-menu-module__tcWIxq__item {
  gap: 14px;
  padding: 13px 18px;
  font-size: 15px;
}

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

.account-menu-module__tcWIxq__itemLabel {
  flex: 1;
}

.account-menu-module__tcWIxq__balance {
  font-variant-numeric: tabular-nums;
  color: var(--text);
}

/* [project]/web/src/components/user-menu.module.css [app-client] (css) */
.user-menu-module__tPWzya__container {
  position: relative;
}

.user-menu-module__tPWzya__avatar {
  background: var(--accent);
  width: 32px;
  height: 32px;
  color: var(--text-on-accent);
  cursor: pointer;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  transition: opacity .15s;
  display: flex;
}

.user-menu-module__tPWzya__avatar:hover {
  opacity: .85;
  background: var(--accent);
}

.user-menu-module__tPWzya__dropdown {
  background: var(--bg);
  border: 1px solid var(--border);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  z-index: 100;
  border-radius: 8px;
  min-width: 220px;
  transition: opacity .15s, transform .15s, visibility .15s;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  transform: translateY(-4px);
  box-shadow: 0 4px 16px #0000001f;
}

.user-menu-module__tPWzya__dropdown.user-menu-module__tPWzya__open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translateY(0);
}

/* [project]/web/src/components/nav.module.css [app-client] (css) */
.nav-module__FJ3sVG__nav {
  z-index: 30;
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: 16px;
  height: 48px;
  padding: 0 16px;
  display: flex;
  position: sticky;
  top: 0;
}

.nav-module__FJ3sVG__logo {
  font-family: var(--font-display);
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
}

.nav-module__FJ3sVG__logoAccent {
  color: var(--accent);
}

.nav-module__FJ3sVG__spacer {
  flex: 1;
}

.nav-module__FJ3sVG__createButton {
  color: var(--text-on-accent);
  background: var(--accent);
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  transition: background .15s;
  display: flex;
}

.nav-module__FJ3sVG__createButton:hover {
  background: var(--accent-hover);
}

.nav-module__FJ3sVG__link {
  color: var(--text-muted);
  font-size: 14px;
}

.nav-module__FJ3sVG__link:hover {
  color: var(--text);
}

.nav-module__FJ3sVG__authLinks {
  align-items: center;
  gap: 12px;
  display: flex;
}

.nav-module__FJ3sVG__signUpLink {
  color: var(--text-on-accent);
  background: var(--accent);
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
}

.nav-module__FJ3sVG__signUpLink:hover {
  background: var(--accent-hover);
}

.nav-module__FJ3sVG__desktopOnly {
  align-items: center;
  display: flex;
}

@media (max-width: 768px) {
  .nav-module__FJ3sVG__desktopOnly {
    display: none;
  }
}

/* [project]/web/src/components/mobile-bottom-nav.module.css [app-client] (css) */
.mobile-bottom-nav-module__3JbXma__bottomNav {
  height: var(--bottom-nav-clearance);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: var(--bg);
  border-top: 1px solid var(--border);
  z-index: 50;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}

@media (max-width: 768px) {
  .mobile-bottom-nav-module__3JbXma__bottomNav {
    justify-content: space-around;
    align-items: center;
    display: flex;
  }
}

.mobile-bottom-nav-module__3JbXma__item {
  color: var(--text-muted);
  font: inherit;
  cursor: pointer;
  background: none;
  border: none;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 2px;
  padding: 6px 0;
  transition: color .15s;
  display: flex;
}

.mobile-bottom-nav-module__3JbXma__item:hover {
  background: none;
}

.mobile-bottom-nav-module__3JbXma__item.mobile-bottom-nav-module__3JbXma__active {
  color: var(--accent);
}

.mobile-bottom-nav-module__3JbXma__tabAvatar {
  background: var(--accent);
  width: 26px;
  height: 26px;
  color: var(--text-on-accent);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  transition: box-shadow .15s;
  display: flex;
}

.mobile-bottom-nav-module__3JbXma__item.mobile-bottom-nav-module__3JbXma__active .mobile-bottom-nav-module__3JbXma__tabAvatar {
  box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
}

.mobile-bottom-nav-module__3JbXma__label {
  font-size: 10px;
  line-height: 1;
}

.mobile-bottom-nav-module__3JbXma__createCircle {
  background: var(--accent);
  width: 40px;
  height: 40px;
  color: var(--text-on-accent);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: box-shadow .15s, transform .15s;
  display: flex;
}

.mobile-bottom-nav-module__3JbXma__item.mobile-bottom-nav-module__3JbXma__active .mobile-bottom-nav-module__3JbXma__createCircle {
  box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
  transform: scale(1.05);
}

/* [project]/web/src/app/globals.css [app-client] (css) */
:root {
  --brand-blue: #9abcf9;
  --bottom-nav-height: 56px;
  --bottom-nav-clearance: calc(var(--bottom-nav-height)  + env(safe-area-inset-bottom, 0px));
  --bg: #fdfbf9;
  --bg-subtle: #f5f1ed;
  --bg-input: #fff;
  --border: #e8e0e4;
  --text: #1a1614;
  --text-muted: #7a7068;
  --text-dim: #a89e94;
  --accent: #de6f99;
  --accent-hover: #c45a84;
  --accent-subtle: #fdf2f8;
  --accent-secondary: #9abcf9;
  --accent-secondary-hover: #7aa0e0;
  --highlight: #fff8ca;
  --text-on-accent: #fff;
  --text-link: var(--accent);
  --status-published: #22c55e;
  --status-published-bg: #86efac26;
  --font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;
  --color-input: #93c5fd;
  --color-output: #86efac;
  --color-response: #fbbf24;
  --color-log: #f87171;
  --color-state: #c4b5fd;
  --color-error: #b91c1c;
  --color-success: #166534;
  --color-warning: #b45309;
  --color-tool: #a78bfa;
  --color-detail: #ca8a04;
  --bg-tint-input: #eef1f9;
  --bg-tint-success: #ecf5f0;
  --bg-tint-error: #f9edee;
  --bg-tint-warning: #fbf0dc;
}

[data-theme="dark"] {
  --bg: #0f0d0c;
  --bg-subtle: #1a1614;
  --bg-input: #2a2522;
  --border: #3d3733;
  --text: #f5f1ed;
  --text-muted: #a89e94;
  --text-dim: #7a7068;
  --accent: #f4b7d6;
  --accent-hover: #de6f99;
  --accent-subtle: #3d1526;
  --accent-secondary: #9abcf9;
  --accent-secondary-hover: #b8d0fb;
  --highlight: #fff8ca;
  --text-on-accent: #1a1614;
  --text-link: var(--accent);
  --status-published: #4ade80;
  --status-published-bg: #4ade801f;
  --color-warning: #fbbf24;
  --color-detail: #facc15;
  --color-error: #f87171;
  --color-success: #86efac;
  --bg-tint-input: #1c1e26;
  --bg-tint-success: #141e18;
  --bg-tint-error: #261416;
  --bg-tint-warning: #2a2010;
}

*, :before, :after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  height: 100%;
}

body {
  background: var(--bg);
  min-height: 100dvh;
  color: var(--text);
  flex-direction: column;
  font-family: system-ui, -apple-system, sans-serif;
  display: flex;
}

button {
  background: var(--accent);
  color: var(--text-on-accent);
  cursor: pointer;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
}

button:hover {
  background: var(--accent-hover);
}

button:disabled {
  background: var(--border);
  color: var(--text-muted);
  cursor: not-allowed;
}

a {
  color: inherit;
  text-decoration: none;
}

input, textarea {
  background: var(--bg-input);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-family: inherit;
  font-size: 16px;
}

@media (min-width: 769px) {
  input, textarea {
    font-size: 14px;
  }
}

input:focus, textarea:focus {
  border-color: var(--accent);
  outline: none;
}

.shimmer {
  background-color: color-mix(in oklab, var(--border) 45%, var(--bg-subtle));
  background-image: linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--border) 90%, var(--bg-subtle)) 50%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  animation: 1.5s ease-in-out infinite skeleton-shimmer;
}

@keyframes skeleton-shimmer {
  from {
    background-position: 200% 0;
  }

  to {
    background-position: -100% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .shimmer {
    background-image: linear-gradient(135deg, color-mix(in oklab, var(--border) 35%, var(--bg-subtle)), color-mix(in oklab, var(--border) 70%, var(--bg-subtle)));
    background-size: auto;
    animation: none;
  }
}

@media (max-width: 768px) {
  body:has([data-mobile-bottom-nav]) {
    padding-bottom: var(--bottom-nav-clearance);
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__9783aa9b._.css.map*/