/* v157.1.4: 전역 폰트 로딩 안정화 + MY 글꼴 설정 우선 적용 */
:root{
  --sodam-font-stack:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
html{font-family:var(--sodam-korean-font,var(--sodam-font-stack))!important;-webkit-text-size-adjust:100%;}
body,button,input,select,textarea,table,.btn,.ghost-btn,.primary-btn,.save-btn{
  font-family:var(--sodam-korean-font,var(--sodam-font-stack))!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
.sodam-hanja-font,.saju-hanja,.hanja,.pillar-char,.stem-char,.branch-char,.ganji-hanja,[data-hanja],.glyph-main.hanja,.glyph-sub.hanja{
  font-family:var(--sodam-hanja-font,var(--sodam-korean-font,var(--sodam-font-stack)))!important;
}
body.lang-ko .glyph-main,body.lang-ko .glyph-sub{font-family:var(--sodam-korean-font,var(--sodam-font-stack))!important;}
body.lang-hanja .glyph-main,body.lang-hanja .glyph-sub{font-family:var(--sodam-hanja-font,var(--sodam-korean-font,var(--sodam-font-stack)))!important;}
body.lang-ko-hanja .glyph-main{font-family:var(--sodam-korean-font,var(--sodam-font-stack))!important;}
body.lang-ko-hanja .glyph-sub{font-family:var(--sodam-hanja-font,var(--sodam-korean-font,var(--sodam-font-stack)))!important;}
body.lang-hanja-ko .glyph-main{font-family:var(--sodam-hanja-font,var(--sodam-korean-font,var(--sodam-font-stack)))!important;}
body.lang-hanja-ko .glyph-sub{font-family:var(--sodam-korean-font,var(--sodam-font-stack))!important;}
button,input,select,textarea{font-synthesis-weight:none;}

/* 페이지 이동 시 배경 스킨을 먼저 적용해 화면 튐을 줄임 */
html.sodam-bg-managed-early body,
body.sodam-bg-managed{
  background:linear-gradient(180deg,rgba(255,255,255,var(--sodam-bg-overlay,.82)),rgba(255,255,255,var(--sodam-bg-overlay,.82))),var(--sodam-bg-image) var(--sodam-bg-position,center top)/var(--sodam-bg-size,cover) fixed no-repeat,var(--bg,#f3f3f1)!important;
  background-color:var(--bg,#f3f3f1)!important;
}
@media(max-width:760px){
  html.sodam-bg-managed-early body,body.sodam-bg-managed{background-attachment:scroll!important;background-position:center top!important;}
}


/* v159.4 residual beige audit fallback: neutral surfaces for shared UI components. */
:root{--sodam-neutral-surface:#ffffff;--sodam-neutral-paper:#fbfcfd;--sodam-neutral-soft:#f8fafc;--sodam-neutral-line:#e5e7eb;--sodam-neutral-line-strong:#d6dbe3;}
.app-ui-modal-card,.sodam-modal-card,.sodam-dialog-card,.sodam-toast,.sodam-skin-frame,.sodam-skin-card,.sodam-skin-panel,.sodam-skin-modal{background:var(--sodam-neutral-surface)!important;border-color:var(--sodam-neutral-line)!important;}
.sodam-skin-badge,.sodam-chip,.sodam-pill{background:var(--sodam-neutral-surface)!important;border-color:var(--sodam-neutral-line)!important;}
