/* Case Converter: styles for this page only. Shared styles live in /tools/shared/tools.css. */

html,
body {
  overflow-x: clip;
}
.cv-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
.workspace {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--space-8) var(--space-4) var(--space-16);
}
.cv-noscript {
  max-width: 880px;
  color: var(--color-text);
}
.cv-card {
  width: 100%;
  max-width: 880px;
  padding: var(--space-6);
  background: var(--color-surface);
  border-radius: var(--radius-2xl);
}
.cv-card .textarea {
  min-height: 14rem;
  font-size: var(--text-md);
}
.cv-meta {
  min-height: 1.25rem;
  margin: var(--space-2) var(--space-1) 0;
  font-size: var(--text-sm);
  color: var(--color-muted);
}
.cv-group {
  margin-top: var(--space-6);
}
.cv-group + .cv-group {
  margin-top: var(--space-4);
}
.cv-group .field-label {
  display: block;
  padding-top: 0;
}
.cv-cases {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  border: 0;
}

/* Case button: an outline button that turns solid while its case is the one applied */
.cv-case[aria-pressed="true"] {
  background: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-on-ink);
}
.cv-case[aria-pressed="true"]:not(:disabled):hover {
  background: var(--color-ink-hover);
}

.cv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-6);
}
.cv-actions .cv-spacer {
  flex: 1;
}
.cv-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

@media (max-width: 560px) {
  .workspace {
    padding: var(--space-4) var(--space-4) var(--space-12);
  }
  .cv-card {
    padding: var(--space-4);
    border-radius: var(--radius-xl);
  }
  .cv-actions .btn {
    flex: 1 1 calc(50% - var(--space-2));
  }
  .cv-actions .cv-spacer {
    display: none;
  }
  .cv-case {
    flex: 1 1 auto;
  }
}
