/* Mathflat visual adapters. Geometry, typography metrics and motion stay with
   each source. No reference-metrics opt-in, resets or global source aliases. */

/* 해결책 카드: 원본 치수·행간·스크롤 진행을 보존하고 의미별 토큰만 연결한다. */
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference {
  font-family:var(--ax-mf-font-family);
  color:var(--ax-mf-concept-night-text);
  background-color:var(--ax-mf-concept-night);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .fifth_section {
  background-color:var(--ax-mf-concept-night);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .pre_txt {
  color:var(--ax-mf-accent);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference :is(h3 p,.info_wrap .type,.info_wrap .title,.track_content .text_wrap p) {
  color:var(--ax-mf-concept-night-text);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference :is(.sub_txt span,.info_wrap .description,.track_content .text_wrap span) {
  color:var(--ax-mf-concept-night-muted);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .video_dim {
  background-color:var(--ax-mf-concept-night);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .fixed_section {
  border-image-source:linear-gradient(208.99deg,var(--ax-mf-accent),var(--ax-mf-accent-strong),var(--ax-mf-concept-night));
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .track_content .circle {
  background-color:var(--ax-mf-accent);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .track_content li.active .circle::after {
  background-color:var(--ax-mf-concept-outline);
}
#wf-main-5[data-ax-ds="mathflat"] .aimhigh-solution-reference .track_content .line {
  background:linear-gradient(180deg,transparent,var(--ax-mf-accent-strong) 35%,var(--ax-mf-accent) 60%,var(--ax-mf-accent-strong) 85%,transparent);
}

/* Arin: preserve transparent/white header states and the photographic hero. */
.arin-site-header[data-ax-ds="mathflat"]:not(.white):not(.is-menu-open) {
  color: var(--ax-mf-text-primary);
}
.arin-site-header[data-ax-ds="mathflat"]:not(.white):not(.is-menu-open) .arin-gnb > ul,
.arin-site-header[data-ax-ds="mathflat"]:not(.white):not(.is-menu-open) .arin-gnb > ul > li > ul {
  background-color: var(--ax-mf-surface-subtle);
}
#wf-main-1[data-ax-ds="mathflat"] .arin-reference .main-intro {
  color: var(--ax-mf-text-primary);
  background-color: var(--ax-mf-surface-page);
}

/* Planet persona: neutral surface, original card size/stack and blue emphasis. */
#wf-main-2[data-ax-ds="mathflat"] .planet-persona-reference,
#wf-main-2[data-ax-ds="mathflat"] .main__persona__section.main__contents__wr {
  background-color: var(--ax-mf-surface-subtle);
  color: var(--ax-mf-text-primary);
}
#wf-main-2[data-ax-ds="mathflat"] .main__persona__copy h2,
#wf-main-2[data-ax-ds="mathflat"] .main__persona__card h3 {
  color: var(--ax-mf-text-primary);
}
/* 카드 제목은 공통 서체·굵기·자간을 사용하고 기존 크기와 행간은 보존한다. */
#wf-main-2[data-ax-ds="mathflat"] .main__persona__card h3 {
  font-family: var(--ax-mf-font-family);
  font-weight: var(--ax-mf-heading-weight);
  letter-spacing: var(--ax-mf-heading-tracking);
}
#wf-main-2[data-ax-ds="mathflat"] .main__persona__copy h2 em,
#wf-main-2[data-ax-ds="mathflat"] .main__persona__bubble p {
  color: var(--ax-mf-accent-strong);
}
#wf-main-2[data-ax-ds="mathflat"] .main__persona__copy p {
  color: var(--ax-mf-text-secondary);
}
#wf-main-2[data-ax-ds="mathflat"] .main__persona__card {
  background-color: var(--ax-mf-surface-page);
}

/* Mathflat imports already share these values; bind visual roles explicitly. */
:is(#wf-main-3, #wf-main-4, #wf-main-6-2)[data-ax-ds="mathflat"] .mathflat-home-reference,
#wf-main-6-3[data-ax-ds="mathflat"] .mathflat-custom-reference {
  color: var(--ax-mf-text-primary);
  background-color: var(--ax-mf-surface-page);
}
:is(#wf-main-3, #wf-main-4, #wf-main-6-2)[data-ax-ds="mathflat"] .main-section__desc,
#wf-main-6-3[data-ax-ds="mathflat"] .article__section-desc {
  color: var(--ax-mf-text-secondary);
}
#wf-main-3[data-ax-ds="mathflat"] .main-solution__back {
  background-color: var(--ax-mf-accent);
}
#wf-main-6-2[data-ax-ds="mathflat"] .main-review__inner {
  background-color: var(--ax-mf-surface-card);
}
#wf-main-6-2[data-ax-ds="mathflat"] .main-review__category {
  background-image: var(--ax-mf-gradient-review-badge);
  color: var(--ax-mf-text-on-accent);
}
#wf-main-6-3[data-ax-ds="mathflat"] .service-accordion__title {
  color: var(--ax-mf-color-gray-600);
}
#wf-main-6-3[data-ax-ds="mathflat"] .service-accordion--active .service-accordion__title {
  color: var(--ax-mf-text-primary);
}
#wf-main-6-3[data-ax-ds="mathflat"] .service-accordion__desc {
  color: var(--ax-mf-text-secondary);
}
.mathflat-popup-host[data-ax-ds="mathflat"] .main-bank__popup-content {
  background-color: var(--ax-mf-surface-page);
}
.mathflat-popup-host[data-ax-ds="mathflat"] .main-bank__popup-control {
  background-color: var(--ax-mf-surface-subtle);
  border-top-color: var(--ax-mf-border-subtle);
}
.mathflat-popup-host[data-ax-ds="mathflat"] .main-bank__popup-close {
  background-color: var(--ax-mf-color-gray-300);
}

/* Mito: preserve the illustrated scene, textures, masks and colored story cards. */
#wf-main-5[data-ax-ds="mathflat"] .mito-reference .text-navy {
  color: var(--ax-mf-accent-strong);
}
#wf-main-5[data-ax-ds="mathflat"] .mito-reference .bg-blue {
  background-color: var(--ax-mf-accent-strong);
}

/* Planet SNS: recolor existing effects without changing their animation. */
#wf-main-6[data-ax-ds="mathflat"] .planet-sns-reference,
#wf-main-6[data-ax-ds="mathflat"] .main__sns__section.main__contents__wr {
  background-color: var(--ax-mf-surface-subtle);
  color: var(--ax-mf-text-primary);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__title,
#wf-main-6[data-ax-ds="mathflat"] .main__sns__card__name {
  color: var(--ax-mf-text-primary);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__title__line--accent {
  color: var(--ax-mf-accent-strong);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__desc {
  color: var(--ax-mf-text-secondary);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__card {
  background-color: var(--ax-mf-surface-page);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__card__en,
#wf-main-6[data-ax-ds="mathflat"] .main__sns__card__desc {
  color: var(--ax-mf-text-muted);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__web,
#wf-main-6[data-ax-ds="mathflat"] .main__sns__drop {
  background-color: var(--ax-mf-accent-strong);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__glow {
  background-color: color-mix(in srgb, var(--ax-mf-accent) 10%, transparent);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__glow-ring {
  border-color: color-mix(in srgb, var(--ax-mf-accent) 45%, transparent);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__fx-ring {
  border-color: color-mix(in srgb, var(--ax-mf-accent) 70%, transparent);
}
#wf-main-6[data-ax-ds="mathflat"] .main__sns__fx-spark {
  background-image: linear-gradient(90deg, transparent, var(--ax-mf-accent) 60%, var(--ax-mf-surface-card-hover));
}

/* Posco: preserve photographic cards and cqw/sticky/Swiper geometry. */
#wf-main-6-4[data-ax-ds="mathflat"] .posco-bridge-reference,
#wf-main-6-4[data-ax-ds="mathflat"] .vision_bridge {
  background-color: var(--ax-mf-surface-page);
}
#wf-main-6-4[data-ax-ds="mathflat"] .vision_section_title {
  color: var(--ax-mf-text-primary);
}
#wf-main-6-4[data-ax-ds="mathflat"] .vision_bridge_dot:not(.is_active) {
  background-color: var(--ax-mf-surface-page);
  border-color: var(--ax-mf-border-subtle);
}
#wf-main-6-4[data-ax-ds="mathflat"] .vision_bridge_dot::after {
  background-color: var(--ax-mf-accent);
}

/* Mathflat long-form review: retain the source typography and quotation artwork. */
#wf-main-reviews[data-ax-ds="mathflat"] .mathflat-review-reference {
  color: var(--ax-mf-text-primary);
}
#wf-main-reviews[data-ax-ds="mathflat"] .service-review {
  background-color: var(--ax-mf-surface-subtle);
}
#wf-main-reviews[data-ax-ds="mathflat"] .service-review__content-desc,
#wf-main-reviews[data-ax-ds="mathflat"] .service-review__content-info {
  color: var(--ax-mf-text-secondary);
}

/* Lua process: same steps, spacing, sprite art and active-state timing. */
#wf-main-7[data-ax-ds="mathflat"] .process-section {
  background-color: var(--ax-mf-surface-subtle);
  color: var(--ax-mf-text-primary);
}
#wf-main-7[data-ax-ds="mathflat"] .process-heading .section-kicker {
  color: var(--ax-mf-text-secondary);
}
#wf-main-7[data-ax-ds="mathflat"] .process-title span,
#wf-main-7[data-ax-ds="mathflat"] .process-pause,
#wf-main-7[data-ax-ds="mathflat"] .process-step.is-active .process-label {
  color: var(--ax-mf-accent-strong);
}
#wf-main-7[data-ax-ds="mathflat"] .process-controls,
#wf-main-7[data-ax-ds="mathflat"] .process-label,
#wf-main-7[data-ax-ds="mathflat"] .process-description {
  color: var(--ax-mf-text-muted);
}
#wf-main-7[data-ax-ds="mathflat"] .process-step,
#wf-main-7[data-ax-ds="mathflat"] .process-pause {
  border-color: var(--ax-mf-border-subtle);
  background-color: var(--ax-mf-surface-page);
}
#wf-main-7[data-ax-ds="mathflat"] .process-step.is-active {
  border-color: var(--ax-mf-accent);
  background-color: color-mix(in srgb, var(--ax-mf-accent) 6%, var(--ax-mf-surface-page));
}
/* 세로형 단계 카드의 바깥 배경과 그림자도 내용 카드의 하단 곡률에 맞춘다. */
@media (min-width: 681px) {
  #wf-main-7[data-ax-ds="mathflat"] .process-step {
    border-radius: 0 0 20px 20px;
  }
}
#wf-main-7[data-ax-ds="mathflat"] .process-node::before {
  background-color: var(--ax-mf-color-gray-300);
}
#wf-main-7[data-ax-ds="mathflat"] .process-node::after {
  border-color: var(--ax-mf-border-subtle);
}
#wf-main-7[data-ax-ds="mathflat"] .process-step.is-active .process-node::after {
  border-color: var(--ax-mf-accent);
}
#wf-main-7[data-ax-ds="mathflat"] .process-card::after {
  background-color: var(--ax-mf-accent);
}

/* FAQ: these source variables are exclusively palette roles on this exact root. */
#wf-main-8[data-ax-ds="mathflat"] #main-faq {
  --surface: var(--ax-mf-surface-page);
  --card: var(--ax-mf-surface-page);
  --ink: var(--ax-mf-text-primary);
  --muted: var(--ax-mf-text-secondary);
  --line: var(--ax-mf-border-subtle);
  --active-line: var(--ax-mf-accent);
  --icon-bg: var(--ax-mf-surface-card);
  --accent: var(--ax-mf-accent-strong);
}
.reference-faq-modal[data-ax-ds="mathflat"] {
  background-color: var(--ax-mf-surface-page);
  color: var(--ax-mf-text-primary);
}
.reference-faq-modal[data-ax-ds="mathflat"] .reference-faq-modal-close {
  color: var(--ax-mf-text-muted);
}

/* Undesign CTA/footer: preserve clipping, photographic overlay and physics. */
#wf-main-9[data-ax-ds="mathflat"] .RequestAccess_section__x0k9x {
  --gradient: linear-gradient(300deg, var(--ax-mf-accent-strong), var(--ax-mf-accent), var(--ax-mf-surface-card-hover));
  background-color: var(--ax-mf-surface-subtle);
}
#wf-main-9[data-ax-ds="mathflat"] .RequestAccess_button__XY1vD {
  color: var(--ax-mf-accent-strong);
}
#wf-main-10[data-ax-ds="mathflat"] .tesoro-footer-host .u-theme-dark {
  --_theme---background: var(--ax-mf-accent-strong);
  --_theme---text: var(--ax-mf-text-on-accent);
}
#wf-main-10[data-ax-ds="mathflat"] .footer_credit_wrap {
  color: var(--ax-mf-text-primary);
  background-color: var(--ax-mf-surface-page);
}

/* Contact page and independent floating inquiry have separate opt-in roots. */
#wf-contact-1[data-ax-ds="mathflat"] .lua-contact-page,
.lua-floating[data-ax-ds="mathflat"] {
  --lua-blue: var(--ax-mf-accent-strong);
  --lua-ink: var(--ax-mf-text-primary);
  color: var(--ax-mf-text-primary);
}
#wf-contact-1[data-ax-ds="mathflat"] .lua-contact-page,
#wf-contact-1[data-ax-ds="mathflat"] .contact-section {
  background-color: var(--ax-mf-surface-subtle);
  background-image: none;
}
#wf-contact-1[data-ax-ds="mathflat"] #contact-form,
.lua-floating[data-ax-ds="mathflat"].quick-contact,
.lua-floating[data-ax-ds="mathflat"] .quick-contact-body {
  background-color: var(--ax-mf-surface-page);
  background-image: none;
  border-color: var(--ax-mf-border-subtle);
}
#wf-contact-1[data-ax-ds="mathflat"] :is(.contact-intro, .contact-fields label, .contact-send),
.lua-floating[data-ax-ds="mathflat"] :is(.quick-contact-intro strong, .contact-fields label) {
  color: var(--ax-mf-text-secondary);
}
#wf-contact-1[data-ax-ds="mathflat"] :is(.contact-preview-note, .contact-security-note, .contact-file-help),
.lua-floating[data-ax-ds="mathflat"] :is(.quick-contact-intro > span, .contact-security-note, .contact-file-help) {
  color: var(--ax-mf-text-muted);
}
#wf-contact-1[data-ax-ds="mathflat"] .contact-fields :is(input, select, textarea),
.lua-floating[data-ax-ds="mathflat"] .contact-fields :is(input, select, textarea) {
  color: var(--ax-mf-text-primary);
  background-color: var(--ax-mf-surface-page);
  border-color: var(--ax-mf-border-subtle);
}
#wf-contact-1[data-ax-ds="mathflat"] .contact-fields :is(input, select, textarea):focus,
.lua-floating[data-ax-ds="mathflat"] .contact-fields :is(input, select, textarea):focus {
  border-color: var(--ax-mf-accent-strong);
}
.lua-floating[data-ax-ds="mathflat"] .quick-contact-toggle,
.lua-floating[data-ax-ds="mathflat"].quick-contact .contact-send {
  color: var(--ax-mf-text-on-accent);
  background-color: var(--ax-mf-accent-strong);
  background-image: none;
}
.lua-floating[data-ax-ds="mathflat"] .quick-contact-toggle small {
  color: var(--ax-mf-text-on-accent);
}

/* Fine-pointer hover rules stay conditional, matching the original behavior. */
@media (hover: hover) and (pointer: fine) {
  #wf-main-6-2[data-ax-ds="mathflat"] .main-review__slide:hover .main-review__inner {
    background-color: var(--ax-mf-surface-card-hover);
  }
  #wf-main-6-3[data-ax-ds="mathflat"] .service-accordion__control > a:hover .service-accordion__title {
    color: var(--ax-mf-text-primary);
  }
  .mathflat-popup-host[data-ax-ds="mathflat"] .main-bank__popup-close:hover {
    background-color: var(--ax-mf-border-subtle);
  }
}

/* Keep semantic form feedback distinguishable from neutral helper text. */
#wf-contact-1[data-ax-ds="mathflat"] .contact-preview-note[data-state="success"],
.lua-floating[data-ax-ds="mathflat"] .contact-preview-note[data-state="success"] { color: #14664d; }
#wf-contact-1[data-ax-ds="mathflat"] .contact-preview-note[data-state="error"],
.lua-floating[data-ax-ds="mathflat"] .contact-preview-note[data-state="error"] { color: #b42d45; }

/* 문의 도입부: 본문 섹션과 같은 제목 체계, 폼과 캐릭터 배치는 유지한다. */
#wf-contact-1[data-ax-ds="mathflat"] .contact-title {
  font-family: var(--ax-mf-font-family);
  font-size: var(--ax-mf-font-size-03);
  font-weight: var(--ax-mf-font-weight-700);
  line-height: var(--ax-mf-line-height-03);
  letter-spacing: var(--ax-mf-tracking-heading);
  margin: 0 0 var(--ax-mf-space-24);
  word-break: keep-all;
}
#wf-contact-1[data-ax-ds="mathflat"] .contact-title span {color:var(--ax-mf-accent)}
#wf-contact-1[data-ax-ds="mathflat"] .contact-intro {
  font-size: var(--ax-mf-font-size-09);
  font-weight: var(--ax-mf-font-weight-400);
  line-height: var(--ax-mf-line-height-08);
  letter-spacing: var(--ax-mf-tracking-body);
  color:var(--ax-mf-text-secondary);
  margin:0 0 var(--ax-mf-space-40);
  word-break:keep-all;
}
@media(max-width:680px){
  #wf-contact-1[data-ax-ds="mathflat"] .contact-title {
    font-size:clamp(28px,8.2vw,36px);
    margin-bottom:var(--ax-mf-space-20);
  }
  #wf-contact-1[data-ax-ds="mathflat"] .contact-title br {display:initial}
  #wf-contact-1[data-ax-ds="mathflat"] .contact-title span {display:inline}
  #wf-contact-1[data-ax-ds="mathflat"] .contact-intro {font-size:16px;margin-bottom:0}
}

@media(min-width:681px) and (max-width:1000px){
  #wf-contact-1[data-ax-ds="mathflat"] .contact-title {font-size:36px}
}
