.layout-container {
  max-width: var(--width-tool-container);
  margin-inline: auto;
  padding-inline: var(--space-lg);
  padding-bottom: max(var(--footer-safe-area, 8rem), 8rem);
  min-height: calc(100vh - var(--header-height));
}

body.is-1-2-result-view .layout-container {
  max-width: min(calc(100% - 2rem), 68rem);
}

body.is-1-2-result-view #resultSection {
  width: 100%;
}

body.is-1-2-result-view #result-capture-area {
  max-width: 64rem;
  margin-inline: auto;
}

body.is-1-2-result-view .result-summary-card {
  max-width: 52rem;
}

.card-body > .tool-progress:first-child {
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xl);
}

.tool-progress__mobile-current {
  display: none;
}

#domainSelectionSection,
#questionsSection,
#resultSection,
#patterns-summary-section,
#impact-summary-section,
#pressure-summary-section,
#self-protection-section,
#coaching-feedback-section {
  scroll-margin-top: max(7.5rem, calc(var(--header-height, 0px) + 2rem));
}

.page-header {
  background-color: var(--color-primary-lighter);
  padding: var(--space-xl) var(--space-md);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-xl);
  text-align: center;
}

.page-header__title {
  color: var(--color-primary-dark);
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
}
.page-header__title .emoji {
  font-size: clamp(1.25rem, 0.5rem + 2vw, 2rem);
}

.page-header__description {
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  max-width: 65ch;
  margin-inline: auto;
  word-break: keep-all;
}
.card {
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--color-border);
  transition-property: transform, box-shadow, opacity;
  transition-duration: var(--transition-medium);
  opacity: 0;
  transform: translateY(1.25rem);
  margin-bottom: var(--space-xl); /* Add margin between cards */
}
.visible > .card, .card.visible {
  opacity: 1;
  transform: translateY(0);
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-lg);
  border-bottom: 1px solid var(--color-border-light);
  background-color: var(--color-primary-lighter);
}
.card-title {
    color: var(--color-primary-dark);
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}
.card-title .emoji { font-size: 1.2em; }
.card-body { padding: var(--space-xl); }

.intro-text p {
  margin-bottom: var(--space-sm);
  word-break: keep-all;
  line-height: 1.6;
}
.intro-text strong {
  color: var(--color-primary-dark);
}

.intro-analogy-box {
    background-color: var(--color-primary-lighter);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-base);
    padding: var(--space-lg);
    margin: var(--space-xl) 0;
    text-align: center;
    box-shadow: var(--shadow-soft);
}
.intro-analogy-box__title {
    color: var(--color-primary-dark);
    margin-bottom: var(--space-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
}
.intro-analogy-box__title .inline-emoji {
    color: var(--color-accent-dark);
    font-size: 1.45rem;
}
.intro-analogy-box__text {
    color: var(--color-text-light);
    line-height: 1.7;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.intro-analogy-box__text + .intro-analogy-box__text {
    margin-top: var(--space-sm);
}

.intro-quick-action {
    display: block;
    margin: var(--space-lg) 0 var(--space-xl);
    text-align: center;
}

.evidence-note {
    margin: var(--space-lg) 0 var(--space-xl);
    padding: var(--space-md) var(--space-lg);
    border: 0;
    background: transparent;
}

.evidence-note__title {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    min-height: 2.75rem;
    margin: 0;
    color: var(--color-primary-dark);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

.evidence-note--compact > .evidence-note__title {
    cursor: pointer;
    list-style: none;
}

.evidence-note--compact > .evidence-note__title::-webkit-details-marker {
    display: none;
}

.evidence-note--compact > .evidence-note__title:focus-visible {
    outline: 3px solid var(--color-focus-ring, var(--color-primary-dark));
    outline-offset: 3px;
}

.evidence-note--compact > .evidence-note__title::after {
    content: "+";
    margin-left: auto;
    color: var(--color-primary-dark);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.evidence-note--compact[open] > .evidence-note__title::after {
    content: "−";
}

.evidence-note__text {
    margin: var(--space-sm) 0 0;
    color: var(--color-text-light);
    font-size: var(--font-size-sm);
    line-height: 1.75;
}

.evidence-note__text a {
    color: var(--color-primary-dark);
    font-weight: var(--font-weight-semibold);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.intro-text__note {
    margin-top: var(--space-md);
}

.intro-disclaimer-note {
    font-size: var(--font-size-xs);
    color: var(--color-text-light);
    text-align: center;
    margin-top: var(--space-sm);
}

.privacy-notice__text {
    font-size: var(--font-size-sm);
}

body.gaslighting-detector-page.tool-standard-ui #backToDomainBtn {
  display: inline-flex !important;
}
.disclaimer-box {
  background-color: var(--color-warm-beige); /* Changed from warning */
  border: 1px solid var(--color-border-light); /* Changed from warning */
  padding: var(--space-lg);
  margin: var(--space-xl) 0;
  border-radius: var(--border-radius-base);
}
.disclaimer-box.privacy-notice {
    background-color: var(--color-primary-lighter);
    border-color: var(--color-border-light);
}
.disclaimer-box__text {
  font-size: var(--font-size-sm);
  color: var(--color-text-light);
  line-height: 1.6;
}
.disclaimer-box__text strong {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-dark); /* Changed from warning */
}
.disclaimer-box__text .inline-emoji {
    margin-right: var(--space-xs);
}

.domain-selection-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
    gap: var(--space-lg);
    margin-top: var(--space-lg);
    min-width: 0;
    margin-inline: 0;
    padding: 0;
    border: 0;
}
body.gaslighting-detector-page.tool-clarity-ui .domain-btn {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 5rem;
    text-align: left;
    padding: var(--space-lg) 3.5rem var(--space-lg) var(--space-lg) !important;
    border: 0 !important;
    border-radius: var(--border-radius-lg);
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    background-color: var(--ds-bg-subtle, var(--color-primary-lighter)) !important;
    height: 100%;
    cursor: pointer;
}
body.gaslighting-detector-page.tool-clarity-ui .domain-btn:has(.domain-radio:checked) {
    background-color: var(--ds-selected-bg, var(--color-primary-lighter)) !important;
    color: var(--ds-selected-text, var(--color-primary-dark));
}
body.gaslighting-detector-page.tool-clarity-ui .domain-btn:has(.domain-radio:checked) .domain-label,
body.gaslighting-detector-page.tool-clarity-ui .domain-btn:has(.domain-radio:checked) .domain-icon {
    color: var(--ds-selected-text, var(--color-primary-dark));
}
.domain-label {
    color: var(--color-primary-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    text-align: center;
    word-break: keep-all;
}
.domain-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}
.domain-btn::after {
    content: "";
    position: absolute;
    display: none;
    right: var(--space-lg);
    top: 50%;
    width: 1.5rem;
    height: 1.5rem;
    transform: translateY(-50%);
}
.domain-btn:has(.domain-radio:checked)::after {
    content: "✓";
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--color-primary-dark);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}
.domain-btn:has(.domain-radio:focus-visible) {
    outline: 3px solid var(--color-focus-ring, var(--color-primary-dark));
    outline-offset: 3px;
}
body.gaslighting-detector-page.tool-clarity-ui .domain-btn:hover {
    background: var(--ds-surface-soft, var(--color-primary-lighter)) !important;
    box-shadow: var(--shadow-soft) !important;
    transform: translateY(-0.08rem) !important;
}
body.gaslighting-detector-page.tool-clarity-ui .domain-btn:has(.domain-radio:checked):hover {
    background: var(--ds-selected-bg, var(--color-primary-lighter)) !important;
    box-shadow: var(--shadow-soft) !important;
}
.domain-icon {
    font-size: 1.25rem;
    color: var(--color-primary);
    width: 1.5rem;
    text-align: center;
}
#questionsSection .intro-text {
    text-align: center;
    background-color: var(--color-primary-lighter);
    padding: var(--space-md);
    border-radius: var(--border-radius-base);
    margin-bottom: var(--space-xl);
}

.questions-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxl);
}
.question-group {
  min-width: 0;
}
.question-group__title {
  margin: 0 0 var(--space-xs);
  color: var(--color-primary-dark);
  font-size: var(--font-size-lg);
  line-height: 1.45;
  word-break: keep-all;
}
.question-group__description {
  margin: 0 0 var(--space-lg);
  color: var(--color-text-light);
  font-size: var(--font-size-sm);
  line-height: 1.7;
  word-break: keep-all;
}
.question-group__items {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
.question-group--impact {
  padding-top: var(--space-sm);
}
.question-item {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  padding: var(--space-lg);
  border-radius: var(--border-radius-base);
  transition: all var(--transition-fast) ease-in-out;
  opacity: 1;
  transform: none;
  box-shadow: var(--shadow-soft);
  position: relative; /* Needed for absolute positioning of checkbox */
}
.question-item:not(:last-child) {
    border-bottom: 1px dashed var(--color-border-light); /* Separator */
}
@media (any-hover: hover) {
  .question-item:not(.is-checked):hover {
    background-color: var(--color-primary-lighter);
    border-color: var(--color-primary-light);
    box-shadow: var(--shadow-soft);
    transform: translateY(-0.06rem);
  }
}
.question-item label {
  font-size: var(--font-size-base);
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 2.75rem;
}
body.gaslighting-detector-page .question-text {
  flex: 1;
  padding-right: calc(1.5rem + var(--space-md)); /* Space for custom checkbox */
  transition: color var(--transition-fast);
  line-height: 1.7;
}
.question-text .question-emoji {
    margin-right: var(--space-sm);
    font-size: 1.75rem;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}
.question-copy strong {
    color: var(--color-primary-dark);
    font-weight: var(--font-weight-bold);
}
.question-item.is-checked .question-copy strong {
    color: var(--color-text-on-primary);
}
.checkbox-visual-container { /* Style this as the visible checkbox */
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid var(--color-border);
    border-radius: var(--border-radius-sm); /* Slightly softer corners */
    background-color: var(--color-surface);
    transition: all 0.2s ease-in-out;
    flex-shrink: 0;
    display: grid;
    place-content: center;
    position: absolute; /* Position it */
    right: var(--space-lg);
    top: 50%;
    transform: translateY(-50%);
}
.question-item.is-checked .checkbox-visual-container {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  background-color: var(--color-text-on-primary);
  border-color: var(--color-primary);
}
.question-item.is-checked .checkbox-visual-container::after {
  content: "✓";
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
  line-height: 1;
}
.question-item.is-checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.question-item.is-checked .question-text {
  color: var(--color-text-on-primary);
}
.question-item:has(input[type="checkbox"]:focus-visible) {
  outline: 3px solid var(--color-focus-ring, var(--color-primary-dark));
  outline-offset: 3px;
}
.question-item input[type="checkbox"] { /* Keep the semantic checkbox available to keyboard users */
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.selection-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 0 var(--space-lg);
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-primary-light);
  border-radius: var(--border-radius-base);
  background: var(--color-primary-lighter);
  color: var(--color-primary-dark);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  text-align: center;
  word-break: keep-all;
}

.action-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    text-align: center;
    margin-top: var(--space-xxl);
    padding-bottom: var(--space-lg);
}

.result-container { display: none; }
.result-card .card-body { padding: 0; }
#result-capture-area {
    padding: var(--space-xl);
}
.result-title-header {
    background-color: var(--color-surface);
    border-bottom: none;
}
.result-title-heading {
    margin: 0 auto;
    padding: var(--space-md) 0;
}
.result-card-body {
    padding-top: 0;
}
.result-header { text-align: center; margin-bottom: var(--space-xl); }
.result-subtitle { font-size: var(--font-size-base); color: var(--color-text-light); margin-top: var(--space-xs); }

.result-summary-card {
  margin: 0 auto var(--space-lg);
  padding: var(--space-lg);
  border: 1px solid var(--color-primary-light);
  border-radius: var(--border-radius-base);
  background: var(--color-primary-lighter);
  color: var(--color-text-dark);
  box-shadow: var(--shadow-soft);
}

.result-summary-card h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space-sm);
  color: var(--color-primary-dark);
  font-size: var(--font-size-lg);
  text-align: center;
}

.result-summary-card p {
  margin: 0;
  color: var(--color-text-light);
  line-height: 1.7;
  word-break: keep-all;
}

.result-standard-line {
  margin-top: var(--space-md) !important;
  padding: var(--space-sm) var(--space-md);
  border-left: none;
  border-radius: var(--border-radius-base);
  background-color: var(--color-surface);
  color: var(--color-primary-dark) !important;
  font-weight: var(--font-weight-semibold);
}

.result-summary-card .result-warm-note {
  margin-top: var(--space-md);
  padding-top: var(--space-sm);
  border-top: 1px dashed var(--color-border-light);
  color: var(--color-primary-dark);
  font-weight: var(--font-weight-medium);
}

.result-count-section {
  margin: var(--space-xl) auto;
  background-color: var(--color-primary-lighter);
  border-radius: var(--border-radius-base);
  padding: var(--space-xl);
  border: 1px solid var(--color-primary-light);
  text-align: center;
}
.result-count-section h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  margin: 0;
  color: var(--color-primary-dark);
  font-size: var(--font-size-md);
}
.result-count-value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.2em;
  margin: var(--space-sm) 0;
  color: var(--color-primary-dark);
  line-height: 1.15;
}
.result-count-value strong {
  font-size: clamp(2.25rem, 7vw, 3.25rem);
  font-weight: var(--font-weight-extrabold);
}
.result-count-value span {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
}
.result-count-note {
  margin: 0;
  color: var(--color-text-light);
  font-size: var(--font-size-sm);
  line-height: 1.7;
  word-break: keep-all;
}

.interpretation-section { margin: var(--space-xxl) 0; }
.section-title {
  margin-bottom: var(--space-md); color: var(--color-primary-dark); /* Changed color */
  display: flex; align-items: center; gap: var(--space-sm);
  font-size: var(--font-size-lg); /* Slightly larger title */
}
.section-title .emoji { font-size: 1.2em; color: var(--color-primary); }
.interpretation-content {
  background-color: var(--color-primary-lighter); padding: var(--space-lg);
  border-radius: var(--border-radius-base);
  border: 0;
  box-shadow: var(--shadow-soft);
  line-height: 1.6;
}
.interpretation-text { font-size: var(--font-size-base); color: var(--color-text-light); }

.impact-summary-container,
.pressure-summary-content {
  padding: var(--space-lg);
  border-radius: var(--border-radius-base);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  color: var(--color-text-light);
  line-height: 1.75;
}

.pressure-summary-section {
  margin: var(--space-xxl) 0;
  padding: var(--space-lg);
  border-radius: var(--border-radius-base);
  background: var(--color-warm-beige);
}

.pressure-summary-section .section-title {
  margin-top: 0;
}

#self-protection-content > .info-box {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#self-protection-content > .info-box .info-box__title {
  margin-top: 0;
  line-height: 1.45;
}

#self-protection-content > .info-box .info-box__content {
  line-height: 1.75;
  word-break: keep-all;
  overflow-wrap: break-word;
}
.text-highlight {
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-dark);
  background-color: var(--color-primary-light); /* Adjusted highlight color */
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
}

.patterns-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}
.pattern-item {
    display: block;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: var(--border-radius-sm);
    background-color: var(--color-surface);
    box-shadow: var(--shadow-soft);
}
.pattern-summary {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: 2.75rem;
    padding: var(--space-md);
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
}
.pattern-summary::-webkit-details-marker {
    display: none;
}
.pattern-summary::after {
    content: "+";
    flex: 0 0 auto;
    margin-left: var(--space-xs);
    color: var(--color-primary-dark);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    line-height: 1;
}
.pattern-item[open] > .pattern-summary::after {
    content: "−";
}
.pattern-summary:focus-visible {
    outline: 3px solid var(--color-focus-ring, var(--color-primary-dark));
    outline-offset: -3px;
}
.pattern-name {
    min-width: 0;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-dark);
}
.pattern-count {
    margin-left: auto;
    color: var(--color-text-light);
    font-size: var(--font-size-sm);
    white-space: nowrap;
}
.pattern-description {
    margin: 0;
    padding: 0 var(--space-md) var(--space-md);
    color: var(--color-text-light);
    line-height: 1.75;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.impact-list {
    margin: 0;
    padding-left: 1.35rem;
}
.impact-list li + li {
    margin-top: var(--space-sm);
}

.coaching-feedback-section {
    margin-top: var(--space-xxl);
    border: 0;
    border-radius: var(--border-radius-base);
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    padding: 0;
}
.coaching-summary {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: 3.25rem;
    margin: 0;
    padding: var(--space-lg);
    cursor: pointer;
    list-style: none;
}
.coaching-summary::-webkit-details-marker {
    display: none;
}
.coaching-summary::after {
    content: "펼쳐 보기";
    margin-left: auto;
    color: var(--color-text-light);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}
.coaching-feedback-section[open] > .coaching-summary::after {
    content: "접기";
}
.coaching-summary:focus-visible {
    outline: 3px solid var(--color-focus-ring, var(--color-primary-dark));
    outline-offset: -3px;
}
.coaching-details-body {
    padding: 0 var(--space-lg) var(--space-lg);
}
.coaching-details-body > .info-box {
    margin: 0 0 var(--space-lg);
    padding: var(--space-md) var(--space-lg);
}

/* Keep the coaching accordion summary flex-aligned after shared title normalization. */
body.tool-standard-ui .coaching-feedback-section > .coaching-summary {
    display: flex;
    align-items: center;
}
.coaching-details-body > .info-box .info-box__content {
    margin: 0;
    line-height: 1.75;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.coaching-details-body > .coaching-items-container {
    margin-inline: 0;
    margin-bottom: 0;
}
.coaching-items-container { display: flex; flex-direction: column; gap: var(--space-lg); }
.coaching-item {
    background: var(--color-surface);
    padding: var(--space-lg);
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-soft);
    border: 0;
    transition: all var(--transition-medium);
}
.coaching-item__question {
    color: var(--color-text-dark);
    margin-bottom: var(--space-md);
    font-weight: var(--font-weight-medium); /* Make question slightly bolder */
    line-height: 1.6;
}
.coaching-item__explanation {
    color: var(--color-text-light);
    line-height: var(--line-height-base);
}
.coaching-item__explanation strong,
.coaching-item__explanation .text-highlight {
    color: var(--color-primary-dark);
    font-weight: var(--font-weight-semibold);
    background: var(--color-primary-lighter); /* Consistent highlight */
    padding: 0.1em 0.2em;
    border-radius: var(--border-radius-sm);
}

.actions-bar {
    display: flex; justify-content: center; gap: var(--space-md);
    padding: var(--space-lg) var(--space-xl); flex-wrap: wrap;
    border-top: 0;
    background-color: var(--color-primary-lighter);
    margin-top: var(--space-xl);
    border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);
}
.actions-bar--stacked {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    background-color: transparent;
    border-top: 0;
}
.coaching-intro-box {
    margin-bottom: var(--space-lg);
    text-align: left;
}
.coaching-intro-text {
    font-size: var(--font-size-sm);
    color: var(--color-text-light);
}
.coaching-safety-note {
    margin-top: var(--space-md) !important;
    padding: var(--space-md);
    border-top: 1px solid var(--color-border-light);
    border: 1px solid var(--color-border-light);
    background: var(--color-surface);
    color: var(--color-text);
    border-radius: var(--border-radius-base);
    font-size: var(--font-size-sm);
    line-height: 1.75;
}
.status-message-toast {
  position: fixed; bottom: -6.25rem; left: 50%;
  transform: translateX(-50%); background-color: var(--color-text-dark);
  color: var(--color-surface); padding: var(--space-sm) var(--space-lg);
  border-radius: var(--border-radius-sm); box-shadow: var(--shadow-strong);
  z-index: var(--z-toast);
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  font-size: var(--font-size-sm); opacity: 0; visibility: hidden;
}
.status-message-toast.show { bottom: calc(1.875rem + env(safe-area-inset-bottom, 0px)); opacity: 1; visibility: visible; }
.status-message-toast.error { background-color: var(--color-primary-dark); }
.status-message-toast.success { background-color: var(--color-success); }

@media (max-width: 48rem) {
  body.gaslighting-detector-page.with-sticky-header .fab-stack-container.site-chrome-fab-stack {
    top: calc(env(safe-area-inset-top, 0px) + (var(--header-height, 4.25rem) - 44px) / 2) !important;
    inset-block-start: calc(env(safe-area-inset-top, 0px) + (var(--header-height, 4.25rem) - 44px) / 2) !important;
    right: calc(max(0.75rem, env(safe-area-inset-right, 0px)) + 44px + 0.75rem) !important;
    inset-inline-end: calc(max(0.75rem, env(safe-area-inset-right, 0px)) + 44px + 0.75rem) !important;
    bottom: auto !important;
    inset-block-end: auto !important;
    width: 44px !important;
    height: 44px !important;
    max-height: 44px !important;
    z-index: 5001 !important;
  }
  body.gaslighting-detector-page.with-sticky-header .emergency-fab {
    width: 44px !important;
    height: 44px !important;
  }
  body.gaslighting-detector-page.with-sticky-header .emergency-modal {
    top: calc(env(safe-area-inset-top, 0px) + var(--header-height, 4.25rem) + 0.75rem) !important;
    inset-block-start: calc(env(safe-area-inset-top, 0px) + var(--header-height, 4.25rem) + 0.75rem) !important;
    right: 0.75rem !important;
    inset-inline-end: 0.75rem !important;
    bottom: auto !important;
    inset-block-end: auto !important;
  }
  body.is-1-2-result-view .layout-container {
    max-width: var(--width-tool-container);
  }
  .layout-container {
    padding-inline: var(--space-md);
  }
  .tool-progress {
    display: flex !important;
    justify-content: center;
    padding: var(--space-xs) var(--space-sm);
  }
  .tool-progress__item {
    display: none !important;
  }
  .tool-progress__mobile-current {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    color: var(--color-primary-dark);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
  }
  .page-header {
    padding: var(--space-lg) var(--space-sm);
    margin-bottom: var(--space-lg);
  }
  .page-header__title {
    gap: var(--space-xs);
  }
  .page-header__description {
    font-size: var(--font-size-base);
  }
  .card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
  }
  #introSection .card-title {
    flex: 1 1 100%;
  }
  .intro-analogy-box {
    margin: var(--space-lg) 0;
    padding: var(--space-md);
  }
  .domain-selection-grid {
    gap: var(--space-md);
  }
  body.gaslighting-detector-page.tool-clarity-ui .domain-btn {
    min-height: 4.5rem;
    padding: var(--space-md) 3rem var(--space-md) var(--space-md) !important;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .domain-btn::after {
    right: var(--space-md);
  }
  .disclaimer-box {
    padding: var(--space-md);
    margin: var(--space-lg) 0;
  }
  .questions-list {
    gap: var(--space-xl);
  }
  .question-group__items {
    gap: var(--space-sm);
  }
  .result-summary-card {
    padding: var(--space-md);
  }
  .result-count-section,
  .pressure-summary-section,
  .impact-summary-container,
  .pressure-summary-content {
    padding: var(--space-md);
  }
}

@media (max-width: 30rem) {
    .intro-quick-action .js-start-check-trigger {
        width: min(100%, 12rem);
        min-height: 3.5rem;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.45;
    }
    .question-item {
        padding: var(--space-md);
    }
    body.gaslighting-detector-page .question-text {
        font-size: 1rem;
        line-height: 1.7;
        padding-right: calc(1.5rem + var(--space-sm));
    }
    .pattern-summary {
        flex-wrap: wrap;
    }
    .pattern-name {
        flex: 1 1 calc(100% - 2.5rem);
    }
    .pattern-count {
        order: 3;
        flex: 1 0 100%;
        margin-left: 0;
        white-space: normal;
    }
    .checkbox-visual-container {
        right: var(--space-md); /* Adjust position */
    }
    .action-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .action-footer .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
  .card,
  .domain-btn,
  .question-item,
  .coaching-item {
    animation: none;
    transition: none;
    transform: none;
  }
}

@media (forced-colors: active) {
  .domain-btn {
    border: 1px solid ButtonText;
  }
  .domain-btn:has(.domain-radio:checked) {
    border-width: 3px;
  }
  .domain-btn:has(.domain-radio:checked)::after {
    color: HighlightText;
    background: Highlight;
    border-color: Highlight;
  }
}

@media (prefers-color-scheme: dark) {
  .evidence-note__title,
  .evidence-note__text,
  .question-copy,
  .question-copy strong,
  .selection-count,
  .coaching-safety-note {
    color: var(--color-text);
  }

  .question-item.is-checked .question-copy strong {
    color: var(--color-text-on-primary);
  }
  .question-item.is-checked {
    background: var(--color-primary-light) !important;
    border-color: var(--color-primary-dark) !important;
  }
}
