/* ==========================================================================
   text-cleaner / style.css — 이 도구에만 필요한 것. 색·간격은 common.css 변수만.
   🔴 인라인 style 이 CSP 로 막혀 상태는 클래스·hidden·disabled 로만 바꿉니다.
   ========================================================================== */

.tc-area {
  min-height: 200px;
  resize: vertical;
  font: inherit;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.tc-presets {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

/* 항목 묶음 4개: 넓은 화면 2열, 좁은 화면 1열 */
.tc-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
@media (max-width: 760px) {
  .tc-groups { grid-template-columns: 1fr; }
  .tc-presets .button { flex: 1 1 100%; }
}
.tc-group {
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}
/* 제목(legend)을 테두리 위가 아니라 상자 안에 둡니다 */
.tc-group > legend { float: left; width: 100%; padding: 0; }
.tc-group > legend + * { clear: both; }

.tc-check {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: var(--space-3);
  font-weight: var(--weight-bold);
  cursor: pointer;
}
.tc-check input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  margin: 0;
  accent-color: var(--color-primary);
}
.tc-check--sub {
  padding-left: calc(22px + var(--space-3));
  color: var(--color-text-muted);
  font-weight: var(--weight-normal);
}
.tc-check:has(input:disabled) { cursor: default; opacity: 0.6; }

.tc-gap { margin-top: var(--space-3); }

.tc-actions { flex-wrap: wrap; margin-top: var(--space-4); }
@media (max-width: 760px) {
  .tc-actions .button { flex: 1 1 100%; }
}

.tc-cherry {
  margin: var(--space-5) 0 0;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}
.tc-cherry a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-weight: var(--weight-bold);
}

.tc-related {
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}
.tc-related__title { margin: 0 0 var(--space-2); font-size: var(--text-md); }
.tc-related__list { margin: 0; padding: 0; list-style: none; }
.tc-related__list a {
  display: flex;
  min-height: 44px;
  align-items: center;
  color: var(--color-primary);
  font-weight: var(--weight-bold);
}

.tc-rules { padding-left: 1.4em; }
.tc-rules li + li { margin-top: var(--space-2); }
.tc-small-words {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--color-surface-soft);
  color: var(--color-text);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}

@media print {
  .site-header, .tool-form, .tc-actions, .tc-related, .copy-feedback, .tc-cherry { display: none !important; }
}

/* 빵부스러기 ‘홈’ 누르는 영역 44px (dday·timezone 과 같은 방식) */
.breadcrumbs a { min-width: 44px; justify-content: center; }
