@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";
/* [project]/app/globals.css [app-client] (css) */
:root {
  --ink: #273d33;
  --muted: #778078;
  --green: #376653;
  --line: #e5e8e1;
  --soft: #f6f7f3;
  --canvas: #eeeee7;
  --white: #fff;
  --font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  color: var(--ink);
  font-family: var(--font);
  background: var(--soft);
  margin: 0;
  font-size: 14px;
}

button, input, textarea, select {
  font: inherit;
}

button, a, input, textarea, select {
  -webkit-tap-highlight-color: transparent;
}

button {
  cursor: pointer;
  color: inherit;
  background: none;
  border: 0;
}

button:disabled {
  cursor: default;
  opacity: .45;
}

button:focus-visible, a:focus-visible, summary:focus-visible {
  outline-offset: 4px;
  outline: 2px solid #6a9277;
}

input:focus, select:focus, textarea:focus {
  outline-offset: 1px;
  outline: 2px solid #aac6b7;
}

button, select {
  touch-action: manipulation;
}

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

fieldset {
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

p, h1, h2 {
  margin-top: 0;
}

svg {
  flex-shrink: 0;
}

select {
  appearance: auto;
}

button svg {
  vertical-align: middle;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: var(--form-accent, var(--green));
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-thumb {
  background: #cbd1c7;
  border-radius: 6px;
}

.app-shell {
  flex-direction: column;
  height: 100dvh;
  display: flex;
  overflow: hidden;
}

.app-header {
  border-bottom: 1px solid var(--line);
  z-index: 20;
  background: #fff;
  flex-shrink: 0;
  align-items: center;
  gap: 21px;
  height: 77px;
  padding: 0 30px;
  display: flex;
}

.brand {
  font: 800 25px "Manrope",
    var(--font);
  letter-spacing: -1.2px;
  align-items: center;
  gap: 10px;
  display: flex;
}

.brand-dot {
  color: #7e9c72;
}

.brand-icon {
  background: var(--green);
  color: #fff;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  font-size: 23px;
  display: flex;
  position: relative;
}

.brand-icon > span {
  color: #d0e8a6;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 3px;
}

.header-divider {
  background: var(--line);
  width: 1px;
  height: 22px;
}

.workspace-name {
  color: #858c83;
  font-size: 12px;
}

.prototype-badge {
  color: #7e886e;
  letter-spacing: 1.2px;
  border: 1px solid #e3e7da;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 9px;
  font-weight: 700;
}

.header-actions {
  align-items: center;
  gap: 15px;
  margin-left: auto;
  display: flex;
}

.save-status {
  color: #7f897d;
  align-items: center;
  gap: 5px;
  margin-right: 8px;
  font-size: 11px;
  display: flex;
}

.new-button, .export-button {
  border: 1px solid var(--line);
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 10px 13px;
  font-size: 12px;
  font-weight: 600;
  display: flex;
}

.export-button {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}

.export-wrap {
  position: relative;
}

.export-menu {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  width: 220px;
  padding: 6px;
  position: absolute;
  top: 45px;
  right: 0;
  box-shadow: 0 8px 30px #1f3d3420;
}

.export-menu button {
  text-align: left;
  border-radius: 5px;
  width: 100%;
  padding: 11px;
  font-size: 12px;
}

.export-menu button:hover {
  background: var(--soft);
}

.workspace {
  flex: 1;
  min-height: 0;
  display: flex;
}

.chat-pane {
  border-right: 1px solid var(--line);
  background: #fff;
  flex-direction: column;
  width: 425px;
  min-width: 365px;
  max-width: 45%;
  display: flex;
}

.pane-heading {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  height: 65px;
  min-height: 65px;
  padding: 0 24px;
  display: flex;
}

.pane-heading > div {
  align-items: center;
  gap: 9px;
  font-size: 13px;
  display: flex;
}

.tiny-spark {
  color: var(--green);
  display: flex;
}

.live-label {
  color: #7a8576;
  align-items: center;
  gap: 5px;
  font-size: 9px;
  display: flex;
}

.live-label i {
  background: #719664;
  border-radius: 50%;
  width: 5px;
  height: 5px;
}

.quick-settings {
  background: #fafbf7;
  border: 1px solid #e8ebe3;
  border-radius: 9px;
  flex-shrink: 0;
  max-height: 47%;
  margin: 0 18px;
  overflow: auto;
}

.settings-heading {
  text-align: left;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 13px;
  font-size: 11px;
  display: flex;
}

.settings-heading > svg:last-child {
  margin-left: auto;
  transition: transform .2s;
  transform: rotate(180deg);
}

.collapsed .settings-heading > svg:last-child {
  transform: rotate(0);
}

.settings-summary {
  color: #86917f;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 135px;
  margin-left: auto;
  font-size: 9px;
  overflow: hidden;
}

.settings-content {
  padding: 0 13px 13px;
}

.collapsed .settings-content {
  display: none;
}

.settings-content label > span, .languages-label > span {
  color: #737e70;
  align-items: center;
  gap: 5px;
  margin-bottom: 6px;
  font-size: 10px;
  display: flex;
}

.settings-content select, .settings-content input:not([type="checkbox"]) {
  color: #41513d;
  background: #fff;
  border: 1px solid #e0e5d9;
  border-radius: 5px;
  width: 100%;
  min-height: 34px;
  padding: 7px;
  font-size: 11px;
}

.wide-label {
  margin-top: 12px;
  display: block;
}

.languages-label {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  display: flex;
}

.languages-label > span {
  margin: 0;
}

.language-chips {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  display: flex;
}

.language-chip {
  background: #eaf0e2;
  border: 1px solid #dae2d2;
  border-radius: 4px;
  align-items: center;
  gap: 3px;
  padding: 4px 6px;
  font-size: 9px;
  font-weight: 600;
  display: flex;
}

.language-chip button {
  padding: 0;
  display: flex;
}

.add-language {
  color: #6b7f5f;
  border: 1px dashed #b6c3ac;
  border-radius: 4px;
  padding: 3px 5px;
}

.language-picker {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 7px;
  margin-top: 10px;
  padding: 8px;
}

.language-results {
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  margin-top: 4px;
  display: grid;
}

.language-results button {
  text-align: left;
  border-radius: 3px;
  justify-content: space-between;
  padding: 6px;
  font-size: 11px;
  display: flex;
}

.language-results button:hover {
  background: var(--soft);
}

.language-results small {
  color: var(--muted);
  font-size: 9px;
}

.advanced-settings {
  margin-top: 14px;
  font-size: 10px;
}

.advanced-settings summary {
  cursor: pointer;
  color: #7d8875;
  padding: 2px 0;
}

.advanced-settings[open] summary {
  margin-bottom: 10px;
}

.advanced-settings label {
  margin-top: 10px;
  display: block;
}

.advanced-settings .toggle-row {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.toggle-row span {
  color: #465440 !important;
  margin: 0 !important;
  display: block !important;
}

.toggle-row small {
  color: #8b9583;
  margin-top: 3px;
  font-size: 9px;
  display: block;
}

.toggle-row input {
  appearance: none;
  background: #d5ddce;
  border-radius: 20px;
  flex-shrink: 0;
  width: 28px;
  height: 16px;
  margin: 0;
  position: relative;
}

.toggle-row input:checked {
  background: var(--green);
}

.toggle-row input:before {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  transition: transform .15s;
  position: absolute;
  top: 2px;
  left: 2px;
}

.toggle-row input:checked:before {
  transform: translateX(12px);
}

.elements {
  border-top: 1px solid var(--line);
  margin-top: 15px;
  padding-top: 12px;
}

.elements > span {
  color: #7c8775;
  font-size: 10px;
}

.elements > div {
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
  display: flex;
}

.elements button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 5px;
  align-items: center;
  gap: 4px;
  padding: 6px;
  font-size: 10px;
  display: flex;
}

.elements button:hover {
  border-color: #99af89;
}

.model-settings summary svg {
  margin-right: 3px;
}

.model-settings p {
  color: #89917f;
  margin: 6px 0 0;
  font-size: 10px;
  line-height: 1.6;
}

.conversation {
  flex: 1;
  min-height: 80px;
  padding: 23px 24px;
  overflow: auto;
}

.welcome {
  padding-top: 22px;
}

.welcome-art {
  color: #658158;
  background: #eff2e5;
  border-radius: 18px;
  justify-content: center;
  align-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 29px;
  display: flex;
  position: relative;
  transform: rotate(-6deg);
}

.welcome-art svg {
  transform: rotate(6deg);
}

.welcome-art i {
  background: #d6b88c;
  border-radius: 50%;
  width: 11px;
  height: 11px;
  position: absolute;
  top: 2px;
  right: -8px;
}

.welcome-art b {
  background: #a7b693;
  border-radius: 50%;
  width: 5px;
  height: 5px;
  position: absolute;
  bottom: 7px;
  left: -8px;
}

.eyebrow {
  letter-spacing: 1.8px;
  color: #8b937f;
  margin-bottom: 12px;
  font-size: 9px;
  font-weight: 650;
}

.welcome h1 {
  font-family: "Manrope", var(--font);
  letter-spacing: -1.5px;
  margin-bottom: 15px;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
}

.welcome > p:not(.eyebrow) {
  color: #899082;
  font-size: 12px;
  line-height: 1.85;
}

.starter-prompts {
  gap: 8px;
  margin-top: 25px;
  display: grid;
}

.starter-prompts button {
  text-align: left;
  border: 1px solid #e5e9df;
  border-radius: 7px;
  justify-content: space-between;
  align-items: center;
  padding: 13px 14px;
  font-size: 12px;
  transition: all .15s;
  display: flex;
}

.starter-prompts button:hover {
  background: #f4f7ee;
  border-color: #c1d0b5;
  transform: translateX(2px);
}

.starter-prompts button > span:last-child {
  color: #9aa58e;
}

.welcome-note {
  color: #9da48f;
  align-items: center;
  gap: 7px;
  margin-top: 22px;
  font-size: 10px;
  display: flex;
}

.welcome-note > span {
  color: #a5b68f;
  font-size: 17px;
}

.message {
  gap: 9px;
  margin: 0 0 23px;
  font-size: 13px;
  line-height: 1.75;
  animation: .25s appear;
  display: flex;
}

.message > div {
  min-width: 0;
}

.message-avatar {
  color: #698154;
  background: #edf1e6;
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  display: flex;
}

.message-author {
  color: #7d8874;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 650;
  display: block;
}

.message p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
}

.message.user {
  background: #f4f5f0;
  border: 1px solid #e9ece3;
  border-radius: 10px;
  margin-left: 24px;
  padding: 13px 15px;
}

.message.user .message-author {
  color: #949a8a;
}

.message-metrics {
  color: #929d85;
  margin-top: 7px;
  font-size: 9px;
}

.message-metrics summary {
  cursor: pointer;
}

.message-metrics span {
  margin-top: 4px;
  display: block;
}

.thinking {
  color: #98a08c;
  align-items: center;
  gap: 3px;
  display: flex;
}

.thinking i {
  background: #89a376;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  animation: 1.1s infinite pulse;
}

.thinking i:nth-child(2) {
  animation-delay: .2s;
}

.thinking i:nth-child(3) {
  animation-delay: .4s;
}

.thinking > span {
  margin-left: 7px;
  font-size: 11px;
}

.composer-area {
  background: #fff;
  flex-shrink: 0;
  padding: 12px 18px 16px;
}

.composer {
  border: 1px solid #d9dfd2;
  border-radius: 11px;
  padding: 11px 12px 9px;
  box-shadow: 0 2px 7px #22382804;
}

.composer:focus-within {
  border-color: #8fa480;
  box-shadow: 0 0 0 3px #edf2e8;
}

.composer textarea {
  resize: none;
  width: 100%;
  color: var(--ink);
  background: none;
  border: 0;
  outline: 0;
  height: 65px;
  max-height: 140px;
  padding: 0;
  font-size: 12px;
  line-height: 1.7;
}

.composer textarea:focus {
  outline: none;
}

.composer textarea::placeholder {
  color: #a1a694;
}

.composer-bottom {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.shorthand-button {
  color: #929b85;
  align-items: center;
  gap: 5px;
  padding: 3px 0;
  font-size: 9px;
  display: flex;
}

.send-button {
  background: var(--green);
  color: #fff;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  display: flex;
}

.send-button:disabled {
  color: #94a489;
  opacity: 1;
  background: #e7ece0;
}

.send-button.stop {
  background: #5f7056;
}

.composer-hint {
  color: #9aa18f;
  justify-content: space-between;
  margin-top: 9px;
  padding: 0 2px;
  font-size: 8px;
  display: flex;
}

.chat-error {
  color: #995634;
  background: #fcf0e9;
  border: 1px solid #ecd6c9;
  border-radius: 7px;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  padding: 10px;
  font-size: 11px;
  line-height: 1.5;
  display: flex;
}

.chat-error button {
  align-self: flex-start;
  padding: 0;
}

.focus-note {
  color: #637b52;
  background: #edf3e6;
  border-radius: 5px;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 7px;
  padding: 7px 10px;
  font-size: 10px;
  display: flex;
}

.preview-pane {
  background: var(--canvas);
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.preview-toolbar {
  background: #f8f9f4;
  border-bottom: 1px solid #dfe2d7;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  height: 65px;
  min-height: 65px;
  padding: 0 27px;
  display: flex;
}

.preview-heading {
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.status-dot {
  background: #6f9361;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.pulsing {
  animation: 1s infinite pulse;
}

.question-count {
  color: #8d9683;
  margin-left: 5px;
  font-size: 10px;
}

.preview-actions {
  align-items: center;
  gap: 15px;
  display: flex;
}

.icon-button {
  color: #7e8a74;
  padding: 5px;
  display: flex;
}

.device-switch {
  background: #eef0e8;
  border: 1px solid #e1e5d9;
  border-radius: 6px;
  padding: 2px;
  display: flex;
}

.device-switch button {
  color: #9ba48e;
  border-radius: 4px;
  padding: 5px 7px;
  display: flex;
}

.device-switch button.active {
  color: #5b704e;
  background: #fff;
  box-shadow: 0 1px 2px #0000000c;
}

.mode-switch {
  background: #e9ede2;
  border: 1px solid #e0e6d7;
  border-radius: 6px;
  gap: 2px;
  padding: 3px;
  display: flex;
}

.mode-switch button {
  color: #819071;
  border-radius: 4px;
  padding: 6px 11px;
  font-size: 10px;
}

.mode-switch button.active {
  color: #3f5836;
  background: #fff;
  box-shadow: 0 1px 3px #0000000a;
}

.mode-switch button span {
  margin-left: 5px;
}

.preview-canvas {
  background-image: radial-gradient(#8c977a26 .75px, #0000 .75px);
  background-size: 16px 16px;
  flex: 1;
  padding: 34px 48px 22px;
  overflow: auto;
}

.canvas-caption {
  color: #929c83;
  letter-spacing: 1.25px;
  justify-content: space-between;
  gap: 10px;
  max-width: 690px;
  margin: 0 auto 16px;
  font-size: 8px;
  display: flex;
}

.canvas-caption > span:last-child {
  letter-spacing: 0;
  font-size: 9px;
}

.form-paper {
  --form-accent: #376653;
  color: #303d32;
  background: #fff;
  border: 1px solid #e0e3d8;
  border-radius: 11px;
  max-width: 690px;
  min-height: 560px;
  margin: 0 auto;
  padding: 30px 46px 20px;
  transition: max-width .25s;
  box-shadow: 0 8px 26px #34402b07, 0 1px 2px #34402b04;
}

.phone-preview .form-paper {
  max-width: 370px;
  min-height: 620px;
  padding: 26px;
}

.phone-preview .canvas-caption {
  max-width: 370px;
}

.phone-preview .canvas-caption > span:last-child {
  display: none;
}

.paper-top {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 42px;
  display: flex;
}

.paper-mark {
  align-items: flex-end;
  gap: 3px;
  height: 20px;
  display: flex;
}

.paper-mark span {
  background: var(--form-accent);
  opacity: .5;
  border-radius: 2px;
  width: 5px;
  height: 12px;
}

.paper-mark span:nth-child(2) {
  opacity: .85;
  height: 19px;
}

.paper-mark span:nth-child(3) {
  opacity: .65;
  height: 15px;
}

.respondent-language {
  color: #858f7a;
  align-items: center;
  gap: 5px;
  display: flex;
}

.respondent-language select {
  color: inherit;
  background: none;
  border: 0;
  max-width: 130px;
  padding: 4px;
  font-size: 10px;
}

.form-eyebrow {
  color: #8e9982;
  letter-spacing: 1.8px;
  margin-bottom: 14px;
  font-size: 8px;
}

.form-intro h1 {
  font-family: "Manrope", var(--font);
  letter-spacing: -1.1px;
  overflow-wrap: anywhere;
  margin-bottom: 12px;
  font-size: 29px;
  font-weight: 600;
  line-height: 1.25;
}

.form-intro > p {
  color: #89917f;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 500px;
  font-size: 12px;
  line-height: 1.8;
}

.form-intro {
  border-bottom: 1px solid #edf0e7;
  margin-bottom: 30px;
  padding-bottom: 21px;
}

.form-fields {
  flex-direction: column;
  gap: 27px;
  display: flex;
}

.question {
  animation: .3s appear;
  position: relative;
}

.question-heading {
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.question-number {
  color: #a0aa94;
  min-width: 14px;
  font-size: 9px;
}

.question-heading label {
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.6;
}

.required {
  color: var(--form-accent);
}

.edit-question {
  opacity: 0;
  color: #839576;
  align-self: center;
  margin-left: auto;
  padding: 3px;
}

.question:hover .edit-question, .edit-question:focus-visible {
  opacity: 1;
}

.question > input, .question > textarea {
  color: #384b2e;
  resize: vertical;
  background: #fcfcfa;
  border: 1px solid #e1e6d9;
  border-radius: 6px;
  width: 100%;
  min-height: 40px;
  padding: 11px 12px;
  font-size: 12px;
}

.question input::placeholder, .question textarea::placeholder {
  color: #b0b5a5;
}

.question input:disabled, .question textarea:disabled {
  opacity: 1;
  color: #adb5a1;
  cursor: default;
}

.question-help {
  color: #87947c;
  margin: -4px 0 12px;
  padding-inline-start: 24px;
  font-size: 11px;
  line-height: 1.65;
}

.choices {
  gap: 7px;
  display: grid;
}

.choice {
  cursor: pointer;
  border: 1px solid #e4e8de;
  border-radius: 6px;
  align-items: center;
  gap: 9px;
  padding: 11px 12px;
  font-size: 12px;
  line-height: 1.4;
  display: flex;
}

.choice > input {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  margin: 0;
}

.choice > span {
  overflow-wrap: anywhere;
  flex: 1;
}

.choice.selected {
  border-color: var(--form-accent);
  background: color-mix(in srgb, var(--form-accent) 5%, white);
}

.choice > svg {
  color: var(--form-accent);
}

.yes-no {
  grid-template-columns: 1fr 1fr;
}

.other-input {
  margin-top: 8px;
}

.branch-note {
  color: #8d9b7f;
  background: #f7f8f2;
  border-radius: 4px;
  align-items: center;
  gap: 5px;
  margin: 0 0 10px;
  padding: 6px 8px;
  font-size: 9px;
  line-height: 1.4;
  display: flex;
}

.form-submit {
  background: var(--form-accent);
  color: #fff;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  min-width: 130px;
  margin-top: 33px;
  padding: 12px 18px;
  font-size: 12px;
  display: flex;
}

.form-submit:disabled {
  opacity: .7;
}

.paper-footer {
  color: #a3ad96;
  border-top: 1px solid #eff1e9;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-top: 39px;
  padding-top: 18px;
  font-size: 8px;
  display: flex;
}

.paper-footer strong {
  letter-spacing: -.3px;
  color: #7e9070;
  font-size: 10px;
}

.paper-footer strong > span {
  color: #a0b38d;
  padding-left: 4px;
}

.canvas-footer {
  color: #99a187;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 19px 0 0;
  font-size: 9px;
  display: flex;
}

.canvas-footer > span {
  color: #9cae85;
  font-size: 15px;
}

.blank-form {
  padding: 0 0 5px;
}

.empty-field {
  margin-bottom: 23px;
}

.empty-field > span {
  background: #edf0e7;
  border-radius: 3px;
  width: 120px;
  height: 6px;
  margin-bottom: 12px;
  display: block;
}

.empty-field > div {
  background: #fcfcf9;
  border: 1px dashed #e3e8d9;
  border-radius: 5px;
  height: 38px;
}

.empty-field:nth-child(2) > span {
  width: 160px;
}

.empty-choice {
  align-items: center;
  gap: 8px;
  margin-bottom: 11px;
  display: flex;
}

.empty-choice > i {
  border: 1px solid #e0e6d5;
  border-radius: 3px;
  width: 13px;
  height: 13px;
}

.empty-choice > span {
  background: #f0f2eb;
  border-radius: 4px;
  width: 87px;
  height: 5px;
}

.empty-choice:nth-last-child(2) > span {
  width: 110px;
}

.blank-form > p {
  color: #98a28b;
  text-align: center;
  margin: 30px 0 0;
  font-size: 11px;
  line-height: 1.8;
}

.blank-form > p > span {
  color: #b0b7a5;
  font-size: 10px;
}

.theme-warm {
  background: #fffcf5;
}

.theme-bold {
  border-top: 5px solid var(--form-accent);
}

.theme-bold .form-intro h1 {
  font-size: 33px;
  font-weight: 800;
}

.theme-formal {
  border-radius: 2px;
  box-shadow: 0 4px 12px #00000005;
}

.serif .form-intro h1, .serif .success-state h2 {
  letter-spacing: -.7px;
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 400;
}

.square, .square .choice, .square .question input, .square .question textarea, .square .form-submit {
  border-radius: 0;
}

.test-disclaimer {
  color: #9a9f91;
  margin: 10px 0 0;
  font-size: 9px;
}

.translation-notice {
  color: #859371;
  background: #f1f5ea;
  border-radius: 6px;
  align-items: center;
  gap: 7px;
  padding: 10px;
  font-size: 11px;
  line-height: 1.5;
  display: flex;
}

.translation-notice.error {
  color: #9a5c43;
  background: #fcf1e9;
}

.translation-notice button {
  text-decoration: underline;
}

.respondent-picker {
  border: 1px solid var(--line);
  border-radius: 6px;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
  padding: 8px;
  display: flex;
}

.respondent-picker input {
  border: 1px solid var(--line);
  border-radius: 3px;
  flex: 1;
  min-width: 80px;
  padding: 5px;
  font-size: 11px;
}

.respondent-picker > div {
  flex-wrap: wrap;
  flex-basis: 100%;
  gap: 5px;
  display: flex;
}

.respondent-picker > div button {
  background: #f1f4ec;
  border-radius: 4px;
  padding: 5px;
  font-size: 10px;
}

.field-error {
  color: #ae5938;
  margin: 7px 0 0;
  font-size: 10px;
}

.has-error > input, .has-error > textarea {
  border-color: #c9896c;
}

.success-state {
  text-align: center;
  color: var(--form-accent);
  padding: 50px 0;
}

.success-state h2 {
  margin: 20px 0 12px;
  font-size: 24px;
  line-height: 1.4;
}

.success-state p {
  color: #929b85;
  font-size: 11px;
}

.success-state button {
  border: 1px solid var(--line);
  border-radius: 6px;
  margin-top: 15px;
  padding: 10px 16px;
  font-size: 12px;
}

.success-state button svg {
  margin-left: 8px;
}

.mobile-tabs {
  display: none;
}

.modal-backdrop {
  z-index: 100;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #1d332a65;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  position: fixed;
  inset: 0;
}

.help-modal {
  background: #fffdf7;
  border: 1px solid #dfe5d7;
  border-radius: 15px;
  width: 100%;
  max-width: 470px;
  max-height: 90dvh;
  padding: 34px;
  position: relative;
  overflow: auto;
  box-shadow: 0 20px 80px #0002;
}

.modal-close {
  color: #8b967c;
  padding: 3px;
  position: absolute;
  top: 17px;
  right: 17px;
}

.help-modal h2 {
  font: 600 26px "Manrope",
    var(--font);
  letter-spacing: -1px;
  margin: 10px 0;
}

.help-modal > p {
  color: #8b937d;
  font-size: 12px;
  line-height: 1.7;
}

.help-modal pre {
  color: #5f7650;
  background: #f0f3e9;
  border: 1px solid #e1e7d8;
  border-radius: 8px;
  padding: 17px;
  font-size: 11px;
  line-height: 1.65;
  overflow: auto;
}

.syntax-key {
  color: #879478;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 20px 0;
  font-size: 11px;
  display: grid;
}

.syntax-key code {
  color: #587548;
  width: 44px;
  display: inline-block;
}

.primary-button {
  background: var(--green);
  color: #fff;
  border-radius: 6px;
  align-items: center;
  gap: 12px;
  padding: 11px 17px;
  font-size: 12px;
  display: flex;
}

.spin {
  animation: 1s linear infinite spin;
}

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

@keyframes pulse {
  50% {
    opacity: .3;
  }
}

@keyframes appear {
  from {
    opacity: 0;
    transform: translateY(5px);
  }

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

@media (min-width: 1500px) {
  .chat-pane {
    width: 470px;
  }

  .conversation {
    padding: 30px 32px;
  }

  .welcome {
    padding-top: 38px;
  }

  .welcome h1 {
    font-size: 39px;
  }

  .composer-area {
    padding: 16px 25px 22px;
  }

  .quick-settings {
    margin: 0 25px;
  }

  .preview-canvas {
    padding-top: 45px;
  }

  .form-paper {
    padding: 35px 52px 25px;
  }
}

@media (max-width: 1100px) {
  .app-header {
    gap: 15px;
    padding: 0 20px;
  }

  .workspace-name, .save-status {
    display: none;
  }

  .chat-pane {
    width: 370px;
    min-width: 340px;
  }

  .preview-canvas {
    padding: 25px;
  }

  .form-paper {
    padding: 25px 29px;
  }

  .preview-toolbar {
    padding: 0 18px;
  }

  .preview-actions {
    gap: 9px;
  }

  .question-count, .canvas-caption > span:last-child {
    display: none;
  }

  .pane-heading {
    padding: 0 20px;
  }

  .welcome h1 {
    font-size: 30px;
  }

  .device-switch {
    display: none;
  }

  .welcome {
    padding-top: 12px;
  }

  .welcome-art {
    margin-bottom: 23px;
  }
}

@media (max-width: 760px) {
  .app-header {
    gap: 10px;
    height: 61px;
    padding: 0 16px;
  }

  .brand {
    gap: 7px;
    font-size: 22px;
  }

  .brand-icon {
    width: 29px;
    height: 29px;
    font-size: 21px;
  }

  .header-divider, .workspace-name, .prototype-badge {
    display: none;
  }

  .header-actions {
    gap: 8px;
  }

  .new-button {
    border: 0;
    padding: 7px;
  }

  .new-button > span {
    display: none;
  }

  .export-button {
    padding: 8px 10px;
    font-size: 11px;
  }

  .export-button > svg:last-child {
    display: none;
  }

  .workspace {
    min-height: 0;
  }

  .chat-pane {
    border: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .pane-heading {
    height: 53px;
    min-height: 53px;
    padding: 0 19px;
  }

  .pane-heading > div {
    font-size: 12px;
  }

  .quick-settings {
    display: none;
  }

  .conversation {
    padding: 18px 22px;
  }

  .welcome {
    max-width: 430px;
    margin: auto;
    padding-top: 20px;
  }

  .welcome-art {
    margin-bottom: 25px;
  }

  .welcome h1 {
    font-size: 34px;
  }

  .welcome > p:not(.eyebrow) {
    font-size: 13px;
  }

  .welcome-note {
    margin-bottom: 15px;
  }

  .starter-prompts {
    margin-top: 22px;
  }

  .composer-area {
    padding: 9px 14px 12px;
  }

  .composer textarea {
    height: 63px;
    font-size: 16px;
  }

  .composer-hint {
    font-size: 8px;
  }

  .composer-hint > span:last-child {
    display: none;
  }

  .composer-bottom .shorthand-button {
    font-size: 10px;
  }

  .send-button {
    width: 33px;
    height: 33px;
  }

  .mobile-tabs {
    border-top: 1px solid var(--line);
    padding: 7px 20px max(7px, env(safe-area-inset-bottom));
    z-index: 25;
    background: #fff;
    flex-shrink: 0;
    gap: 16px;
    min-height: 62px;
    display: flex;
  }

  .mobile-tabs > button {
    color: #a1aa95;
    border-radius: 7px;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 3px;
    padding: 4px;
    font-size: 10px;
    display: flex;
    position: relative;
  }

  .mobile-tabs > button.active {
    color: var(--green);
    background: #f0f4e9;
  }

  .mobile-tabs > button > i {
    background: #8ba362;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 5px;
    left: calc(50% + 13px);
  }

  .preview-pane, .app-shell[data-mobile-tab="form"] .chat-pane {
    display: none;
  }

  .app-shell[data-mobile-tab="form"] .preview-pane {
    display: flex;
  }

  .app-shell[data-mobile-tab="settings"] .conversation, .app-shell[data-mobile-tab="settings"] .composer-area {
    display: none;
  }

  .app-shell[data-mobile-tab="settings"] .quick-settings {
    flex: 1;
    max-height: none;
    margin: 0 14px 14px;
    display: block;
    overflow: auto;
  }

  .app-shell[data-mobile-tab="settings"] .settings-content {
    padding: 4px 16px 20px;
    display: block;
  }

  .app-shell[data-mobile-tab="settings"] .settings-heading {
    pointer-events: none;
    padding: 16px;
  }

  .app-shell[data-mobile-tab="settings"] .settings-heading > svg:last-child {
    display: none;
  }

  .settings-content label > span, .languages-label > span {
    font-size: 12px;
  }

  .settings-content select, .settings-content input:not([type="checkbox"]) {
    min-height: 42px;
    font-size: 16px;
  }

  .settings-summary {
    font-size: 10px;
  }

  .language-chip {
    padding: 6px 9px;
    font-size: 12px;
  }

  .add-language {
    padding: 7px;
  }

  .advanced-settings {
    font-size: 12px;
  }

  .advanced-settings summary {
    padding: 6px 0;
  }

  .elements > span {
    font-size: 12px;
  }

  .elements button {
    padding: 10px 8px;
    font-size: 12px;
  }

  .wide-label {
    margin-top: 17px;
  }

  .languages-label {
    margin-top: 18px;
  }

  .language-results button {
    padding: 10px;
    font-size: 14px;
  }

  .preview-toolbar {
    height: 55px;
    min-height: 55px;
    padding: 0 15px;
  }

  .preview-heading {
    font-size: 11px;
  }

  .preview-actions {
    gap: 10px;
  }

  .preview-canvas {
    padding: 21px 15px;
  }

  .canvas-caption {
    margin-bottom: 12px;
    font-size: 7px;
  }

  .form-paper, .phone-preview .form-paper {
    border-radius: 9px;
    width: 100%;
    max-width: none;
    min-height: 540px;
    padding: 24px;
  }

  .form-intro h1 {
    font-size: 27px;
  }

  .paper-top {
    margin-bottom: 30px;
  }

  .question-heading label {
    font-size: 13px;
  }

  .question > input, .question > textarea {
    font-size: 16px;
  }

  .choice {
    padding: 13px 11px;
    font-size: 14px;
  }

  .form-submit {
    min-height: 44px;
    font-size: 14px;
  }

  .respondent-language select {
    font-size: 12px;
  }

  .canvas-footer {
    font-size: 8px;
  }

  .mode-switch button {
    padding: 6px 10px;
    font-size: 10px;
  }

  .edit-question {
    opacity: 1;
  }

  .model-settings p {
    font-size: 11px;
  }

  .help-modal {
    padding: 28px 24px;
  }

  .message {
    font-size: 14px;
  }

  .message.user {
    margin-left: 18px;
  }

  .question-help {
    font-size: 12px;
  }

  .respondent-picker input {
    font-size: 16px;
  }

  .respondent-picker > div button {
    padding: 8px;
    font-size: 12px;
  }
}

@media (max-height: 780px) and (min-width: 761px) {
  .welcome {
    padding-top: 5px;
  }

  .welcome-art {
    width: 44px;
    height: 44px;
    margin-bottom: 18px;
  }

  .welcome h1 {
    font-size: 29px;
  }

  .starter-prompts {
    gap: 6px;
    margin-top: 18px;
  }

  .starter-prompts button {
    padding: 10px 12px;
  }

  .welcome-note {
    margin-top: 15px;
  }

  .composer textarea {
    height: 55px;
  }

  .conversation {
    padding-top: 15px;
  }

  .welcome > p:not(.eyebrow) {
    line-height: 1.65;
  }

  .quick-settings {
    max-height: 39%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.form-intro > p {
  color: #697660;
  font-size: 13px;
}

.question-heading label {
  font-size: 14px;
}

.question > input, .question > textarea, .choice {
  font-size: 13px;
}

.question-help {
  color: #6d7c63;
  font-size: 12px;
}

.welcome > p:not(.eyebrow) {
  color: #727e68;
}

.starter-prompts button {
  font-size: 13px;
}

.settings-content label > span, .languages-label > span {
  color: #647359;
}

.form-eyebrow {
  color: #778569;
}

.respondent-language {
  color: #6d7d60;
}

.message-author {
  color: #66795a;
}

.message p {
  font-size: 14px;
}

@media (max-width: 760px) {
  .question > input, .question > textarea {
    font-size: 16px;
  }

  .choice, .question-heading label {
    font-size: 14px;
  }
}

[hidden] {
  display: none !important;
}

.form-view-tabs {
  background: #f8f9f4;
  border-bottom: 1px solid #dfe2d7;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  padding: 10px 27px;
  display: flex;
}

.form-view-tabs button {
  color: #65735e;
  border-radius: 6px;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  font-size: 12px;
  display: flex;
}

.form-view-tabs button[aria-selected="true"] {
  color: #244e3c;
  background: #fff;
  font-weight: 600;
  box-shadow: 0 1px 4px #273b2414;
}

.form-view-tabs > span {
  color: #697660;
  margin-left: auto;
  font-size: 10px;
}

.form-view-tabs i {
  background: #a45235;
  border-radius: 50%;
  width: 6px;
  height: 6px;
}

.markdown-panel {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.markdown-workspace {
  flex-direction: column;
  gap: 15px;
  height: 100%;
  min-height: 480px;
  padding: 26px;
  display: flex;
}

.markdown-intro {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.markdown-intro strong {
  font-size: 19px;
  font-family: Manrope, var(--font);
}

.markdown-intro p {
  color: #677661;
  margin-top: 5px;
  font-size: 12px;
}

.markdown-guide {
  color: #54644c;
  font-size: 12px;
  line-height: 1.75;
}

.markdown-guide summary {
  cursor: pointer;
}

.markdown-guide p {
  max-width: 750px;
  margin-top: 10px;
}

.markdown-guide code {
  background: #e8ecdf;
  border-radius: 3px;
  padding: 1px 4px;
}

.markdown-source {
  resize: vertical;
  color: #334a39;
  tab-size: 2;
  background: #fcfdf9;
  border: 1px solid #d6ddcd;
  border-radius: 10px;
  flex: 1;
  width: 100%;
  min-height: 300px;
  padding: 22px;
  font: 13px / 1.9 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.markdown-source:focus {
  outline-offset: 2px;
  outline: 2px solid #849c71;
}

.markdown-status {
  color: #66745e;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  display: flex;
}

.markdown-status button {
  white-space: nowrap;
  text-decoration: underline;
}

.editor-error {
  color: #8b3d25;
  background: #f9ede7;
  margin: 0;
  padding: 12px 20px;
  font-size: 12px;
  line-height: 1.6;
}

.editor-error button {
  text-decoration: underline;
}

.editable-text {
  cursor: text;
  outline-offset: 4px;
  border-radius: 3px;
  outline: 1px solid #0000;
  min-width: 0;
}

.editable-text:hover {
  background: #f5f8ef90;
  outline-color: #c4d3b9;
}

.editable-text:focus-visible {
  outline: 2px solid #849c71;
}

.empty-edit {
  color: #7a8870;
  font-size: 11px;
  font-weight: 400;
}

.form-description {
  color: #64735b;
  font-size: 13px;
  line-height: 1.8;
}

.form-title {
  margin-bottom: 12px;
}

.question-label {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 550;
  line-height: 1.6;
}

.choice-label {
  flex: 1;
  min-width: 0;
}

.question-help {
  color: #66765d;
}

.rich-text {
  overflow-wrap: anywhere;
}

.rich-text > :first-child {
  margin-top: 0;
}

.rich-text > :last-child {
  margin-bottom: 0;
}

.rich-text p {
  margin: 0 0 .8em;
}

.rich-text h1, .rich-text h2, .rich-text h3, .rich-text h4, .rich-text h5, .rich-text h6 {
  letter-spacing: -.02em;
  margin: 1em 0 .55em;
  font-weight: 650;
  line-height: 1.3;
}

.rich-text h1 {
  font-size: 2em;
}

.rich-text h2 {
  font-size: 1.65em;
}

.rich-text h3 {
  font-size: 1.4em;
}

.rich-text h4 {
  font-size: 1.2em;
}

.rich-text h5 {
  font-size: 1.05em;
}

.rich-text h6 {
  font-size: 1em;
}

.rich-text a {
  color: var(--form-accent);
  text-decoration: underline;
}

.rich-text ul, .rich-text ol {
  margin: .6em 0;
  padding-inline-start: 1.6em;
}

.rich-text li {
  margin: .25em 0;
}

.rich-text ul {
  list-style: outside;
}

.rich-text ol {
  list-style: decimal;
}

.rich-text blockquote {
  border-inline-start: 3px solid #ced8c3;
  margin: 1em 0;
  padding-inline-start: 1em;
  font-style: italic;
}

.rich-text code {
  background: #edf0e6;
  border-radius: 3px;
  padding: .1em .3em;
  font: .9em ui-monospace, monospace;
}

.rich-text pre {
  background: #edf0e6;
  border-radius: 5px;
  margin: 1em 0;
  padding: 12px;
  overflow: auto;
}

.rich-text pre code {
  padding: 0;
}

.rich-text table {
  border-collapse: collapse;
  max-width: 100%;
  margin: 1em 0;
  display: block;
  overflow: auto;
}

.rich-text th, .rich-text td {
  border: 1px solid #d8dfd0;
  padding: 6px 10px;
}

.rich-text hr {
  border: 0;
  border-top: 1px solid #d8dfd0;
  margin: 1.5em 0;
}

.rich-text img {
  max-width: 100%;
  height: auto;
}

.inline-editor {
  font: 13px/1.5 var(--font);
  width: 100%;
  margin: 4px 0;
}

.inline-editor textarea {
  color: #284632;
  resize: vertical;
  width: 100%;
  font: inherit;
  background: #fff;
  border: 1px solid #8da67e;
  border-radius: 5px;
  min-height: 70px;
  padding: 10px;
}

.inline-editor > div {
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  display: flex;
}

.inline-editor span {
  color: #738368;
  margin-right: auto;
  font-size: 10px;
}

.inline-editor button {
  color: #3d5830;
  background: #e9eedf;
  border-radius: 4px;
  padding: 5px 9px;
  font-size: 11px;
}

.sortable-item {
  min-width: 0;
  position: relative;
}

.sortable-item.dragging {
  z-index: 10;
  opacity: .85;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 5px 20px #1b38242b;
}

.drag-handle {
  inset-inline-start: -24px;
  color: #899b7b;
  cursor: grab;
  touch-action: none;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  width: 23px;
  height: 26px;
  display: flex;
  position: absolute;
  top: 2px;
}

.drag-handle:hover, .drag-handle:focus-visible {
  color: #35572b;
  background: #e8eedf;
}

.drag-handle:active {
  cursor: grabbing;
}

.option-sortable > .drag-handle {
  inset-inline-start: 4px;
  top: 50%;
  transform: translateY(-50%);
}

.option-sortable:has( > .drag-handle) > .choice {
  padding-inline-start: 30px;
}

.edit-language-note {
  color: #7d684c;
  margin-top: 15px;
  font-size: 11px;
}

.library-button {
  white-space: nowrap;
  align-items: center;
  gap: 6px;
  padding: 8px;
  font-size: 12px;
  display: flex;
}

.library-dialog {
  color: #30462b;
  background: #f8faf4;
  border: 1px solid #d8dfcd;
  border-radius: 16px;
  width: min(850px, 100vw - 32px);
  max-height: 85dvh;
  margin: auto;
  padding: 30px;
  box-shadow: 0 20px 80px #152b2233;
}

.library-dialog::backdrop {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #172b2566;
}

.library-heading {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.library-heading h2 {
  font: 600 28px Manrope,
    var(--font);
  margin: 9px 0;
}

.library-heading p {
  color: #6a775f;
  font-size: 12px;
}

.library-tools {
  gap: 12px;
  margin: 24px 0;
  display: flex;
}

.library-tools input {
  background: #fff;
  border: 1px solid #d6deca;
  border-radius: 6px;
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  font-size: 13px;
}

.library-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.saved-form {
  text-align: start;
  background: #fff;
  border: 1px solid #dbe2d1;
  border-radius: 10px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 20px;
  display: flex;
}

.saved-form:hover {
  border-color: #8ba279;
  box-shadow: 0 3px 12px #29412710;
}

.saved-form strong {
  overflow-wrap: anywhere;
  font-size: 15px;
}

.saved-form > span {
  color: #6e7e62;
  font-size: 11px;
}

.saved-form small {
  color: #7f8c73;
  font-size: 10px;
}

.saved-form .saved-form-open {
  color: #345b40;
  margin-top: auto;
  padding-top: 12px;
}

.library-empty {
  text-align: center;
  color: #7a886f;
  padding: 24px;
}

@media (max-width: 1100px) {
  .form-view-tabs > span {
    display: none;
  }

  .library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .form-view-tabs {
    padding: 8px 15px;
  }

  .markdown-workspace {
    padding: 18px 15px;
  }

  .markdown-intro strong {
    font-size: 16px;
  }

  .markdown-intro p {
    font-size: 11px;
  }

  .markdown-intro .primary-button {
    white-space: nowrap;
    padding: 9px;
    font-size: 11px;
  }

  .markdown-source {
    padding: 14px;
    font-size: 13px;
  }

  .question-label {
    font-size: 15px;
  }

  .inline-editor textarea {
    font-size: 16px;
  }

  .drag-handle {
    width: 24px;
    height: 32px;
    inset-inline-start: -24px;
  }

  .library-button {
    gap: 4px;
    padding: 5px;
    font-size: 11px;
  }

  .library-dialog {
    padding: 20px;
  }

  .library-grid {
    grid-template-columns: 1fr;
  }

  .library-tools .primary-button {
    font-size: 12px;
  }

  .form-view-tabs button {
    min-height: 36px;
  }
}

.account-link {
  color: #315b43;
  white-space: nowrap;
  padding: 7px;
  font-size: 12px;
}

.cloud-warning {
  color: #79501d;
  background: #fff0dd;
  flex-shrink: 0;
  padding: 10px 20px;
  font-size: 12px;
  line-height: 1.6;
}

.cloud-warning button {
  margin-left: 12px;
  text-decoration: underline;
}

.import-browser-button {
  color: #365a41;
  margin-top: 20px;
  font-size: 12px;
  text-decoration: underline;
}

.workspace-loading {
  color: #53674b;
  background: #f4f7ed;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  height: 100dvh;
  display: flex;
}

.account-shell {
  color: #304b36;
  background: radial-gradient(at 15% 0, #e4ebd9, #0000 60%), #f6f8f1;
  flex-direction: column;
  align-items: center;
  min-height: 100dvh;
  padding: 35px 20px 80px;
  display: flex;
}

.account-brand {
  font: 650 29px Manrope,
    var(--font);
  letter-spacing: -1.2px;
  align-items: center;
  gap: 6px;
  display: flex;
}

.account-brand span {
  color: #7e9c65;
}

.back-to-studio {
  color: #68805b;
  margin: 18px 0 26px;
  font-size: 12px;
}

.account-card {
  background: #fffffc;
  border: 1px solid #dce3d1;
  border-radius: 14px;
  width: 100%;
  max-width: 460px;
  padding: 34px;
  box-shadow: 0 12px 45px #2740220a;
}

.account-card h1 {
  font: 600 27px/1.3 Manrope,
    var(--font);
  letter-spacing: -.8px;
  margin: 8px 0 12px;
}

.account-card > p {
  color: #6e7d63;
  overflow-wrap: anywhere;
  margin-bottom: 24px;
  font-size: 13px;
  line-height: 1.7;
}

.account-card form {
  flex-direction: column;
  gap: 16px;
  margin: 22px 0;
  display: flex;
}

.account-card label {
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  font-weight: 550;
  display: flex;
}

.account-card input {
  color: #314c38;
  width: 100%;
  font: 14px var(--font);
  background: #fcfdf9;
  border: 1px solid #cfdac3;
  border-radius: 6px;
  padding: 12px;
}

.account-card input:focus {
  outline-offset: 2px;
  outline: 2px solid #91aa7f;
}

.account-card .primary-button {
  justify-content: center;
  min-height: 42px;
}

.account-card small {
  color: #748468;
  font-size: 11px;
  line-height: 1.6;
  display: block;
}

.account-card button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.auth-methods {
  background: #eff3e7;
  border-radius: 7px;
  gap: 4px;
  margin-top: 25px;
  padding: 4px;
  display: flex;
}

.auth-methods button {
  border-radius: 5px;
  flex: 1;
  padding: 8px;
  font-size: 12px;
}

.auth-methods button.active {
  background: #fff;
  box-shadow: 0 1px 4px #2d422114;
}

.secondary-button {
  color: #3b6238;
  border: 1px solid #cedcc1;
  border-radius: 6px;
  align-self: flex-start;
  padding: 10px 14px;
  font-size: 12px;
}

.text-button {
  color: #496e3c;
  margin: 16px auto;
  font-size: 12px;
  text-decoration: underline;
  display: block;
}

.auth-divider {
  color: #8b977f;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
  font-size: 11px;
  display: flex;
}

.auth-divider:before, .auth-divider:after {
  content: "";
  background: #e2e8d8;
  flex: 1;
  height: 1px;
}

.google-button {
  border: 1px solid #d4dfc8;
  border-radius: 7px;
  justify-content: center;
  gap: 15px;
  width: 100%;
  padding: 12px;
  font-size: 13px;
  display: flex;
}

.google-button strong {
  color: #4285f4;
  font: bold 17px Arial;
}

.auth-provider-note {
  text-align: center;
  margin-top: 8px;
}

.auth-error {
  background: #fff0e8;
  border-radius: 6px;
  padding: 12px;
  font-size: 12px;
  line-height: 1.65;
  color: #8f4228 !important;
}

.auth-notice {
  background: #eef5e5;
  border-radius: 6px;
  padding: 12px;
  font-size: 12px;
  line-height: 1.65;
  color: #486539 !important;
}

.delete-account {
  border-top: 1px solid #e5e8dd;
  margin-top: 32px;
  padding-top: 20px;
  font-size: 12px;
}

.delete-account summary {
  color: #984d3f;
  cursor: pointer;
}

.delete-account p {
  margin: 15px 0;
  line-height: 1.7;
}

.danger-button {
  color: #fff;
  background: #a14e3e;
  border-radius: 6px;
  margin-top: 12px;
  padding: 11px;
  font-size: 12px;
}

@media (max-width: 760px) {
  .account-card {
    padding: 25px;
  }

  .account-card input {
    font-size: 16px;
  }

  .account-link {
    padding: 3px;
    font-size: 11px;
  }

  .library-button svg {
    display: none;
  }

  .cloud-warning {
    font-size: 11px;
  }
}

/*# sourceMappingURL=app_globals_0yg4wg8plh8sv.css.map*/