/* V30 — 모바일 브라우저 글자 크기·줄바꿈·터치 가독성 보정. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.page-app,body.page-report{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
  font-optical-sizing:auto;
}
body.page-app :where(p,li,summary,label,button,a,small,span),
body.page-report :where(p,li,summary,label,button,a,small,span){line-break:strict;overflow-wrap:break-word}

@media(max-width:640px){
  body.page-app,body.page-report{font-size:16px}

  /* iOS Safari는 16px보다 작은 입력 요소에 초점을 맞추면 화면을 자동 확대한다. */
  body.page-app input:not([type="checkbox"]):not([type="radio"]),
  body.page-app select,
  body.page-app textarea{font-size:16px!important;line-height:1.35!important}
  body.page-app input,body.page-app select,body.page-app textarea,body.page-app button,
  body.page-report input,body.page-report select,body.page-report textarea,body.page-report button{touch-action:manipulation}

  /* 입력 */
  body.v16-flow.page-app:not(.page-result-v27) .tabs button b{font-size:15px!important}
  body.v16-flow.page-app:not(.page-result-v27) .tabs button span{font-size:13px!important;line-height:1.4!important}
  body.v16-flow.page-app:not(.page-result-v27) .v26-form-row>label{font-size:14px!important;line-height:1.45!important}
  body.v16-flow.page-app:not(.page-result-v27) .v26-city-control span{font-size:12px!important;line-height:1.5!important}
  body.v16-flow.page-app:not(.page-result-v27) .v26-more-options>summary{min-height:44px;font-size:14px!important;line-height:1.55!important}
  .manse-submit-dock .baegun-consent-check,
  .manse-submit-dock .baegun-consent-check label{font-size:13px!important;line-height:1.58!important}
  .manse-submit-dock .baegun-consent-check strong,
  .manse-submit-dock .baegun-consent-check a{font-size:inherit!important}

  /* 결과 상단·공유 */
  body.page-result-v27 .sitebar nav a{font-size:13px!important;line-height:1.4!important}
  body.page-result-v27 .v27-back{font-size:13.5px!important;line-height:1.55!important}
  body.page-result-v27 .cheon-gi-share__eyebrow{font-size:12px!important;line-height:1.5!important;letter-spacing:.13em!important}
  body.page-result-v27 .cheon-gi-share__copy>p:last-child{font-size:15.5px!important;line-height:1.78!important}
  body.page-result-v27 .cheon-gi-share__element{font-size:13px!important;line-height:1.5!important}
  body.page-result-v27 .cheon-gi-share__element strong{font-size:13px!important}
  body.page-result-v27 .cheon-gi-share__button small{font-size:12px!important;line-height:1.45!important;letter-spacing:0!important}
  body.page-result-v27 .cheon-gi-share__privacy{font-size:12.5px!important;line-height:1.7!important}
  body.page-result-v27 .v27-share-fold>summary{font-size:15px!important;line-height:1.5!important}
  body.page-result-v27 .v27-share-fold>summary small{font-size:12.5px!important;line-height:1.55!important}

  /* 접힌 명리표는 전문성을 유지하되 확대 없이 읽을 수 있는 최소 크기로 올린다. */
  body.page-result-v27 .technical-reading>summary{min-height:58px;line-height:1.5!important}
  body.page-result-v27 .technical-reading>summary>span{font-size:15px!important}
  body.page-result-v27 .technical-reading>summary>small{font-size:12.5px!important;line-height:1.5!important}
  body.page-result-v27 .technical-element-copy small{font-size:12px!important;line-height:1.5!important;letter-spacing:.09em!important}
  body.page-result-v27 .technical-element-copy strong{font-size:21px!important;line-height:1.48!important}
  body.page-result-v27 .technical-element-copy p{font-size:14.5px!important;line-height:1.75!important}
  body.page-result-v27 .pillar .plabel{font-size:11px!important;line-height:1.4!important}
  body.page-result-v27 .pillar .hangul,
  body.page-result-v27 .pillar .tg,
  body.page-result-v27 .hidden-stems{font-size:10.5px!important;line-height:1.55!important}
  body.page-result-v27 .hidden-stems small{font-size:9.5px!important;line-height:1.5!important}
  body.page-result-v27 .bar-row{font-size:13.5px!important;line-height:1.5!important}
  body.page-result-v27 .dw-meta{font-size:13px!important;line-height:1.65!important}

  /* 천기해독 카드 */
  body.page-result-v27 .reading-heading>span{font-size:12.5px!important;line-height:1.5!important}
  body.page-result-v27 .reading-heading>p{font-size:14.5px!important;line-height:1.72!important}
  body.page-result-v27 .v27-card-nav button{flex-basis:146px;min-height:68px!important}
  body.page-result-v27 .v27-card-nav button span{font-size:12px!important;line-height:1.45!important}
  body.page-result-v27 .v27-card-collapse{min-height:38px;padding:8px 11px;font-size:13px!important;line-height:1.3!important}
  body.page-result-v27 .plain-reading .sec-step{font-size:13px!important;line-height:1.5!important}
  body.page-result-v27 .v27-card-panel .interpret-visual figcaption small{font-size:12.5px!important;line-height:1.45!important}
  body.page-result-v27 .v27-card-panel .sec-easy,
  body.page-result-v27 .v27-card-panel .sec-action,
  body.page-result-v27 .v27-card-panel .sec-points p{font-size:16px!important;line-height:1.82!important;text-wrap:pretty}
  body.page-result-v27 .v27-card-panel .sec-easy b,
  body.page-result-v27 .v27-card-panel .sec-action b,
  body.page-result-v27 .v27-card-panel .sec-points b{font-size:13.5px!important;line-height:1.45!important}
  body.page-result-v27 .v27-card-panel details>summary{min-height:44px;font-size:13.5px!important;line-height:1.5!important}
  body.page-result-v27 .v27-card-panel details>p{font-size:14.5px!important;line-height:1.78!important}
  body.page-result-v27 .v27-card-controls button{font-size:14px!important}
  body.page-result-v27 .reading-gate .gate-kicker{font-size:12px!important;line-height:1.5!important}
  body.page-result-v27 .reading-gate p{font-size:15.5px!important;line-height:1.8!important}

  /* 천명개벽록 상단·표지 */
  body.page-report .v16-banner__eyebrow{font-size:11.5px!important;line-height:1.5!important}
  body.page-report .v16-banner__line{font-size:14px!important;line-height:1.7!important}
  body.page-report .toolbar button{min-height:46px!important;padding:9px 7px!important;font-size:13px!important;line-height:1.35!important;white-space:normal!important}
  body.page-report .toolbar .prog{font-size:13px!important;line-height:1.55!important}
  body.page-report .access-state{font-size:13px!important;line-height:1.65!important}
  body.page-report .cover .sub{font-size:13px!important;line-height:1.5!important;letter-spacing:.16em!important}
  body.page-report .cover .who{font-size:16px!important;line-height:1.85!important;text-wrap:pretty}
  body.page-report .cover .who small{font-size:13.5px!important;line-height:1.7!important}
  body.page-report .cover .pillars{font-size:22px!important;line-height:1.45!important}
  body.page-report .cover .badge{font-size:13px!important;line-height:1.5!important}

  /* 100장 목차 */
  body.page-report .toc-chapter summary{grid-template-columns:46px minmax(0,1fr) auto;min-height:68px;padding:13px 12px!important}
  body.page-report .toc-chapter summary b{font-size:14px!important;line-height:1.5!important}
  body.page-report .toc-chapter summary small{font-size:12px!important;line-height:1.5!important}
  body.page-report .toc-chapter .toc-state{font-size:12px!important;line-height:1.4!important}
  body.page-report .toc-item{grid-template-columns:30px minmax(0,1fr) auto;gap:9px;padding:10px 2px!important;font-size:13px!important;line-height:1.55!important}
  body.page-report .locked-preview .locked-title{font-size:13px!important;line-height:1.6!important}

  /* 이미지와 본문 카드 */
  body.page-report .part-intro{font-size:15px!important;line-height:1.8!important;text-wrap:pretty}
  body.page-report .page .part{font-size:13px!important;line-height:1.5!important}
  body.page-report .page h3{font-size:22px!important;line-height:1.42!important;text-wrap:balance}
  body.page-report .report-visual small{font-size:11.5px!important;line-height:1.5!important;letter-spacing:.02em!important}
  body.page-report .report-visual b{font-size:14.5px!important;line-height:1.45!important}
  body.page-report .report-summary,
  body.page-report .advice,
  body.page-report .caution,
  body.page-report .personal-lens{font-size:16px!important;line-height:1.82!important;text-wrap:pretty}
  body.page-report .report-summary b,
  body.page-report .advice b,
  body.page-report .caution b,
  body.page-report .personal-lens b{font-size:13.5px!important;line-height:1.45!important}
  body.page-report .report-deep summary{min-height:46px;font-size:14px!important;line-height:1.5!important}
  body.page-report .report-deep p{font-size:15px!important;line-height:1.82!important;text-wrap:pretty}
  body.page-report .report-reading-loader p{font-size:14px!important;line-height:1.72!important}

  /* 설문·결제 직전 */
  body.page-report .survey-promise span{font-size:12.5px!important;line-height:1.55!important}
  body.page-report #surveyDialog .survey-kicker,
  body.page-report #surveyDialog .survey-step{font-size:12px!important;line-height:1.5!important}
  body.page-report #surveyDialog .survey-help{font-size:14.5px!important;line-height:1.75!important}
  body.page-report .survey-options button{min-height:68px;font-size:15px!important;line-height:1.5!important}
  body.page-report .sealed-price span{font-size:12px!important;line-height:1.5!important}
  body.page-report .sealed-price small{font-size:12px!important;line-height:1.6!important}
  body.page-report .focus-hold{font-size:12.5px!important;line-height:1.55!important}
  body.page-report .use-scenes h5{font-size:13px!important;line-height:1.5!important}
  body.page-report .use-scene-grid b{font-size:13px!important;line-height:1.45!important}
  body.page-report .use-scene-grid small{font-size:12.5px!important;line-height:1.55!important}
  body.page-report .review-status{font-size:12px!important;line-height:1.65!important}
  body.page-report #unlock .legal{font-size:12px!important;line-height:1.72!important}

  /* 공통 법적 고지 */
  body.page-app .baegun-legal-footer,
  body.page-report .baegun-legal-footer{font-size:12.5px!important;line-height:1.82!important}
  body.page-app .baegun-legal-footer__links a,
  body.page-app .baegun-legal-footer__clear,
  body.page-report .baegun-legal-footer__links a,
  body.page-report .baegun-legal-footer__clear{font-size:12.5px!important;line-height:1.65!important}
  body.page-app .baegun-legal-footer__notice,
  body.page-report .baegun-legal-footer__notice{font-size:12px!important;line-height:1.72!important}
}

@media(max-width:370px){
  body.page-report .toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-report .toolbar .prog{grid-column:1/-1}
  body.page-report .report-visual figcaption{grid-template-columns:40px minmax(0,1fr)!important}
  body.page-report .report-visual .image-hanja{font-size:38px!important}
  body.page-report .report-visual small{font-size:11px!important}
  body.page-report .report-visual b{font-size:14px!important}
}

@media print{html{-webkit-text-size-adjust:100%;text-size-adjust:100%}}