@charset "utf-8";

/*
  v228 final overlay
  - 누적된 대형 CSS를 직접 대량 삭제하지 않고, 실제로 문제가 잦은 구역의 최종 규칙만 마지막에 고정합니다.
  - 이후 모바일 헤더/회원/방송도크/플로팅 UI 보정은 이 파일 중심으로 관리합니다.
*/

/* 1) 모바일 헤더: 닉네임 왼쪽, 알림/운영 오른쪽 */
@media (max-width:720px){
  #fg-site .fg-theme-user.fg-user-compact{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    padding:1px 0 3px!important;
    scrollbar-width:none!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-my-dd{
    order:1!important;
    flex:0 1 auto!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-notify-icon{
    order:2!important;
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-admin-dd{
    order:3!important;
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    margin:0!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-admin-dd summary.fg-admin-chip{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    justify-content:center!important;
    gap:0!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-admin-dd summary.fg-admin-chip .fg-dd-dot{
    display:inline-flex!important;
    margin:0!important;
    font-size:15px!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-admin-dd summary.fg-admin-chip > span:not(.fg-dd-dot),
  #fg-site .fg-theme-user.fg-user-compact > .fg-admin-dd summary.fg-admin-chip > em{
    display:none!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-my-dd summary.fg-account-chip{
    max-width:min(190px,calc(100vw - 154px))!important;
    min-width:0!important;
    height:36px!important;
    min-height:36px!important;
    padding:5px 12px 5px 6px!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-my-dd .fg-account-chip-text b{
    max-width:108px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #fg-site .fg-theme-user.fg-user-compact > .fg-my-dd .fg-account-chip-text em{
    display:none!important;
  }
}

/* 2) 회원/로그인/회원가입 화면 밀림 방지 */
.fgm-page,
#fg-site .fgm-page{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.fgm-page *,
.fgm-page *::before,
.fgm-page *::after{
  box-sizing:border-box!important;
}
.fgm-card,
.fgm-card-wide{
  width:min(100%, 860px)!important;
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
.fgm-card:not(.fgm-card-wide){
  width:min(100%, 520px)!important;
  max-width:520px!important;
}
.fgm-brand,
.fgm-form,
.fgm-section,
.fgm-grid,
.fgm-address,
.fgm-actions{
  min-width:0!important;
  max-width:100%!important;
}
.fgm-grid > *,
.fgm-section > *,
.fgm-address > *{
  min-width:0!important;
}
.fgm-form input[type=text],
.fgm-form input[type=password],
.fgm-form input[type=email],
.fgm-form input[type=tel],
.fgm-form input[type=file],
.fgm-form select,
.fgm-form textarea{
  max-width:100%!important;
  min-width:0!important;
}
.fgm-address{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
}
.fgm-address .fgm-small-btn,
.fgm-small-btn{
  white-space:nowrap!important;
  min-width:max-content!important;
}
.fgm-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.fgm-actions .fgm-cancel,
.fgm-actions .fgm-submit{
  margin-top:0!important;
}
@media(max-width:720px){
  .fgm-page,
  #fg-site .fgm-page{
    padding:22px 12px 96px!important;
  }
  .fgm-card,
  .fgm-card-wide{
    width:100%!important;
    max-width:100%!important;
    padding:20px!important;
    border-radius:24px!important;
  }
  .fgm-brand{
    margin-bottom:18px!important;
  }
  .fgm-brand h1{
    font-size:25px!important;
    line-height:1.18!important;
  }
  .fgm-logo .fg-logo-mark,
  .fgm-logo span{
    width:44px!important;
    height:44px!important;
    border-radius:16px!important;
  }
  .fgm-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .fgm-section{
    margin-top:14px!important;
    padding:15px!important;
    border-radius:20px!important;
  }
  .fgm-section h2{
    font-size:17px!important;
  }
  .fgm-form label{
    margin:11px 0 6px!important;
  }
  .fgm-form input[type=text],
  .fgm-form input[type=password],
  .fgm-form input[type=email],
  .fgm-form input[type=tel],
  .fgm-form input[type=file],
  .fgm-form select{
    height:48px!important;
    font-size:15px!important;
    padding-left:13px!important;
    padding-right:13px!important;
    border-radius:15px!important;
  }
  .fgm-address{
    grid-template-columns:1fr!important;
  }
  .fgm-address .fgm-small-btn,
  .fgm-small-btn{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
  }
  .fgm-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .fgm-actions .fgm-cancel,
  .fgm-actions .fgm-submit{
    width:100%!important;
    min-height:50px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* 3) 모바일 방송도크/알림 플로팅 충돌 완화 */
@media(max-width:560px){
  #fg-site .fg-broadcast-dock,
  #fg-site .fg-broadcast-dock.is-user-mini{
    left:auto!important;
    right:12px!important;
    bottom:max(74px,calc(env(safe-area-inset-bottom,0px) + 74px))!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding:6px!important;
    border-radius:999px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:4px!important;
  }
  #fg-site .fg-broadcast-dock .fg-broadcast-cardline,
  #fg-site .fg-broadcast-dock.is-user-mini .fg-broadcast-cardline{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    width:auto!important;
  }
  #fg-site .fg-broadcast-dock .fg-broadcast-main,
  #fg-site .fg-broadcast-dock.is-user-mini .fg-broadcast-main{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #fg-site .fg-broadcast-dock .fg-broadcast-icon,
  #fg-site .fg-broadcast-dock.is-user-mini .fg-broadcast-icon{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    flex:0 0 34px!important;
    border-radius:50%!important;
    font-size:15px!important;
  }
  #fg-site .fg-broadcast-dock .fg-broadcast-text,
  #fg-site .fg-broadcast-dock .fg-broadcast-meta,
  #fg-site .fg-broadcast-dock .fg-broadcast-progress,
  #fg-site .fg-broadcast-dock .fg-broadcast-panel,
  #fg-site .fg-broadcast-dock [data-fg-broadcast-schedule],
  #fg-site .fg-broadcast-dock [data-fg-broadcast-compact],
  #fg-site .fg-broadcast-dock [data-fg-broadcast-hide],
  #fg-site .fg-broadcast-dock .fg-broadcast-admin-next,
  #fg-site .fg-broadcast-dock .fg-broadcast-admin-stop{
    display:none!important;
  }
  #fg-site .fg-broadcast-dock [data-fg-broadcast-popout],
  #fg-site .fg-broadcast-dock [data-fg-broadcast-mute]{
    display:inline-flex!important;
  }
  #fg-site .fg-broadcast-dock .fg-broadcast-actions{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    width:auto!important;
    max-width:none!important;
    flex-wrap:nowrap!important;
  }
  #fg-site .fg-broadcast-dock .fg-broadcast-mini{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:50%!important;
    font-size:13px!important;
  }
}

/* 4) 모바일 알림 칩은 콘텐츠 방해 줄이기 */
@media (max-width: 560px){
  .fg-corner-alert{
    top:auto!important;
    left:auto!important;
    right:12px!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom,0px) + 14px))!important;
    max-width:112px!important;
    min-width:0!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    gap:6px!important;
    box-shadow:0 10px 24px rgba(61,37,130,.14)!important;
  }
  .fg-corner-alert a{
    gap:6px!important;
    min-width:0!important;
  }
  .fg-corner-alert-icon{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    border-radius:999px!important;
    font-size:12px!important;
  }
  .fg-corner-alert b{
    font-size:11px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .fg-corner-alert em,
  .fg-corner-alert button{
    display:none!important;
  }
}


/* v229: 폰트 상세페이지 섹션 구분 강화 */
#fg-site .fg-detail2{
  display:grid!important;
  gap:20px!important;
}
#fg-site .fg-detail2-bc{
  margin-bottom:0!important;
}
#fg-site .fg-detail2-hero,
#fg-site .fg-detail2-card,
#fg-site .fg-detail2-info-card{
  position:relative!important;
  isolation:isolate!important;
}
#fg-site .fg-detail2-hero{
  border-radius:30px!important;
  border:1px solid rgba(226,218,246,.95)!important;
  box-shadow:0 18px 52px rgba(39,28,78,.08)!important;
  overflow:hidden!important;
}
#fg-site .fg-detail2-hero::after{
  content:"";
  position:absolute;
  inset:auto 24px 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(124,92,255,.35),transparent);
  pointer-events:none;
}
#fg-site .fg-detail2-card{
  border-radius:26px!important;
  border:1px solid rgba(226,218,246,.95)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 14px 38px rgba(39,28,78,.065)!important;
}
#fg-site .fg-detail-pro-studio{
  border-color:rgba(124,92,255,.22)!important;
  background:
    linear-gradient(180deg,rgba(250,247,255,.92),rgba(255,255,255,.98))!important;
}
#fg-site .fg-detail-pro-studio-head{
  padding-bottom:14px!important;
  margin-bottom:16px!important;
  border-bottom:1px solid rgba(226,218,246,.85)!important;
}
#fg-site .fg-detail-pro-studio-head h2{
  margin:0!important;
  letter-spacing:-.045em!important;
}
#fg-site .fg-detail-pro-studio-head p{
  margin:6px 0 0!important;
  color:#766f8a!important;
}
#fg-site .fg-detail2-info{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
#fg-site .fg-detail2-info-card{
  min-width:0!important;
  border-radius:24px!important;
  border:1px solid rgba(226,218,246,.95)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 10px 30px rgba(39,28,78,.055)!important;
}
#fg-site .fg-detail2-info-card h2,
#fg-site .fg-detail2-card > h2{
  margin-top:0!important;
  padding-bottom:10px!important;
  border-bottom:1px solid rgba(226,218,246,.8)!important;
}
#fg-site .fg-detail2-meta-grid{
  gap:12px!important;
}
#fg-site .fg-detail2-meta-box{
  min-width:0!important;
  border-radius:18px!important;
  background:#fbfaff!important;
  border:1px solid rgba(235,229,250,.96)!important;
}
#fg-site .fg-detail-system-meta{
  background:#fff!important;
}
#fg-site .fg-font-comments{
  border-color:rgba(124,92,255,.18)!important;
  background:
    linear-gradient(180deg,rgba(253,251,255,.98),rgba(255,255,255,.98))!important;
}
#fg-site .fg-detail-dup-hint{
  border-color:rgba(255,190,80,.34)!important;
  background:linear-gradient(180deg,#fffaf1,#fff)!important;
}

/* 상세페이지 본문 BGM 추천 큰 카드 제거: 방송은 하단 도크/별도창에서만 사용 */
#fg-site .fg-font-bgm-card{
  display:none!important;
}

@media(max-width:980px){
  #fg-site .fg-detail2-info{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:720px){
  #fg-site .fg-detail2{
    gap:14px!important;
  }
  #fg-site .fg-detail2-hero,
  #fg-site .fg-detail2-card,
  #fg-site .fg-detail2-info-card{
    border-radius:22px!important;
  }
  #fg-site .fg-detail-pro-studio-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  #fg-site .fg-detail2-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #fg-site .fg-detail2-btn,
  #fg-site .fg-btn{
    width:100%!important;
    justify-content:center!important;
  }
  #fg-site .fg-detail2-meta-grid{
    grid-template-columns:1fr!important;
  }
}


/* v239: 실제 화면 기준 전체 간격/색면 정리
   v229 색감을 기준으로 유지하면서, 상세페이지 히어로의 강한 그라데이션과 메인 최근등록 정렬 문제만 직접 보정합니다. */
#fg-site{
  --fg-v239-bg:#fbfafc;
  --fg-v239-card:#fff;
  --fg-v239-soft:#fdfcff;
  --fg-v239-line:#ebe7f4;
  --fg-v239-line2:#f1edf8;
  --fg-v239-ink:#19172a;
  --fg-v239-muted:#716b82;
  --fg-v239-purple:#7357e8;
  --fg-v239-shadow:0 8px 24px rgba(41,30,78,.045);
}
html body:has(#fg-site){
  background:#fbfafc!important;
}
#fg-site{
  background:#fbfafc!important;
  color:var(--fg-v239-ink)!important;
}

/* 공통 페이지 폭과 좌우 간격 */
#fg-site .fg-main-v044,
#fg-site .fg-detail2,
#fg-site .fg-page,
#fg-site .fg-wrap,
#fg-site .fg-list,
#fg-site .fg-compare,
#fg-site .fg-recommend,
#fg-site .fg-license,
#fg-site .fg-community,
#fg-site .fgm-page{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:18px!important;
  padding-right:18px!important;
  background:transparent!important;
  box-sizing:border-box!important;
}

/* 섹션 간격 */
#fg-site .fg-detail2,
#fg-site .fg-list,
#fg-site .fg-compare,
#fg-site .fg-recommend,
#fg-site .fg-license,
#fg-site .fg-community,
#fg-site .fgm-page{
  display:grid!important;
  gap:22px!important;
}

/* 상세페이지 히어로 강한 분홍/민트 그라데이션 제거 */
#fg-site .fg-detail2-hero{
  background:#fff!important;
  background-image:none!important;
  border:1px solid var(--fg-v239-line)!important;
  box-shadow:var(--fg-v239-shadow)!important;
  border-radius:28px!important;
  padding:34px 40px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,300px)!important;
  gap:24px!important;
  align-items:stretch!important;
}
#fg-site .fg-detail2-hero::before,
#fg-site .fg-detail2-hero::after{
  display:none!important;
  content:none!important;
}
#fg-site .fg-detail2-hero h1{
  margin-top:12px!important;
  margin-bottom:8px!important;
  line-height:1.05!important;
}
#fg-site .fg-detail-pro-mini{
  background:var(--fg-v239-soft)!important;
  background-image:none!important;
  border:1px solid var(--fg-v239-line)!important;
  border-radius:22px!important;
  box-shadow:none!important;
  padding:24px!important;
}
#fg-site .fg-detail-history-strip{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin-top:16px!important;
  gap:8px!important;
}

/* 상세 스튜디오/본문 카드 간격 */
#fg-site .fg-detail-pro-studio,
#fg-site .fg-detail2-card{
  padding:24px!important;
  border-radius:24px!important;
  background:#fff!important;
  background-image:none!important;
  border-color:var(--fg-v239-line)!important;
}
#fg-site .fg-detail-pro-studio-head,
#fg-site .fg-section-head,
#fg-site .fg-panel-head,
#fg-site .fg-card-head,
#fg-site .fg-main-section-head,
#fg-site .fg-main-v209-panel-head,
#fg-site .fg-main-v209-side-head{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-bottom:1px solid var(--fg-v239-line)!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0 0 14px!important;
  margin:0 0 16px!important;
}
#fg-site .fg-detail-preview-presets{
  gap:8px!important;
  margin:12px 0 14px!important;
}
#fg-site .fg-detail-preview-tools,
#fg-site .fg-preview-tools,
#fg-site .fg-detail2-preview,
#fg-site .fg-preview,
#fg-site .js-fg-target{
  background:var(--fg-v239-soft)!important;
  border-color:var(--fg-v239-line2)!important;
  box-shadow:none!important;
}
#fg-site .fg-detail2-info{
  gap:16px!important;
}
#fg-site .fg-detail2-info-card{
  padding:22px!important;
  border-radius:22px!important;
}
#fg-site .fg-detail2-actions{
  gap:10px!important;
  margin-top:18px!important;
}

/* 메인 최근등록 섹션 오른쪽 밀림 방지 */
#fg-site .fg-main-discovery-v209{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:22px!important;
  align-items:start!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
#fg-site #fg-main-recent-v209,
#fg-site .fg-main-recent-v209{
  grid-column:1!important;
  justify-self:stretch!important;
  align-self:start!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
#fg-site .fg-main-v209-side-stack{
  grid-column:2!important;
  width:100%!important;
  max-width:320px!important;
  margin-left:0!important;
}
#fg-site .fg-main-v209-card-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--fg-main-card-columns,3),minmax(0,1fr))!important;
  gap:var(--fg-main-card-gap,18px)!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
#fg-site .fg-main-v209-font-card{
  min-width:0!important;
  width:100%!important;
  background:#fff!important;
  background-image:none!important;
  border-color:var(--fg-v239-line)!important;
  border-radius:22px!important;
}

/* 카드/미리보기 튐 방지 */
#fg-site .fg-font-card,
#fg-site .fg-list-card,
#fg-site .fg-result-card,
#fg-site .fg-main-v209-font-card{
  min-width:0!important;
  overflow:hidden!important;
}
#fg-site .fg-main-v209-preview,
#fg-site .fg-font-card .js-fg-target,
#fg-site .fg-list-card .js-fg-target,
#fg-site .fg-result-card .js-fg-target{
  overflow:hidden!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}

/* 글자/설명문은 너무 연하지 않게 */
#fg-site p,
#fg-site small,
#fg-site .fg-muted,
#fg-site .fg-desc,
#fg-site .fg-help,
#fg-site .fg-sub,
#fg-site .fg-panel-desc,
#fg-site .fg-card-desc,
#fg-site .fg-detail-pro-studio-head p,
#fg-site .fg-detail2-info-card p,
#fg-site .fgm-brand p,
#fg-site .fgm-help{
  color:var(--fg-v239-muted)!important;
}

/* 상세페이지 BGM 추천 큰 카드 제거 유지 */
#fg-site .fg-font-bgm-card{
  display:none!important;
}

/* 관리자/진단 페이지 간격만 보정 */
.fga-page{
  padding-left:18px!important;
  padding-right:18px!important;
}
.fga-grid{
  gap:14px!important;
}
.fga-card,
.fga-panel,
.fga-table-wrap,
.fga-form-card{
  overflow:hidden!important;
}
.fga-card strong,
.fga-card p{
  overflow-wrap:anywhere!important;
}

@media(max-width:980px){
  #fg-site .fg-main-discovery-v209{
    grid-template-columns:1fr!important;
  }
  #fg-site .fg-main-v209-side-stack{
    grid-column:1!important;
    max-width:none!important;
  }
}
@media(max-width:900px){
  #fg-site .fg-detail2-hero{
    grid-template-columns:1fr!important;
    padding:28px!important;
  }
}
@media(max-width:720px){
  #fg-site .fg-main-v044,
  #fg-site .fg-detail2,
  #fg-site .fg-page,
  #fg-site .fg-wrap,
  #fg-site .fg-list,
  #fg-site .fg-compare,
  #fg-site .fg-recommend,
  #fg-site .fg-license,
  #fg-site .fg-community,
  #fg-site .fgm-page{
    padding-left:12px!important;
    padding-right:12px!important;
    gap:14px!important;
  }
  #fg-site .fg-detail2-hero,
  #fg-site .fg-detail-pro-studio,
  #fg-site .fg-detail2-card,
  #fg-site .fg-detail2-info-card,
  #fg-site .fgm-card,
  #fg-site .fgm-section{
    padding:18px!important;
    border-radius:20px!important;
  }
  #fg-site .fg-detail2-hero h1{
    font-size:clamp(36px,12vw,58px)!important;
  }
  #fg-site .fg-main-v209-card-grid{
    grid-template-columns:1fr!important;
  }
}


/* v240: 메인 최근 등록 폰트 카드/예시문장 보정
   main.render.php 구간은 #fg-site 스코프가 없을 수 있어 비스코프 선택자도 같이 적용합니다. */
.fg-main-recent-v209,
#fg-site .fg-main-recent-v209{
  justify-self:stretch!important;
  align-self:start!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  background:#fff!important;
  background-image:none!important;
  border:1px solid #ebe7f4!important;
  box-shadow:0 8px 24px rgba(41,30,78,.04)!important;
}
.fg-main-recent-v209 .fg-main-section-head,
#fg-site .fg-main-recent-v209 .fg-main-section-head{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-bottom:1px solid #ece7f4!important;
  box-shadow:none!important;
  padding:0 0 14px!important;
  margin:0 0 16px!important;
}
.fg-main-v209-card-grid,
#fg-site .fg-main-v209-card-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--fg-main-card-columns,3),minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  align-items:stretch!important;
}
.fg-main-v209-font-card,
#fg-site .fg-main-v209-font-card{
  width:100%!important;
  min-width:0!important;
  padding:18px!important;
  border-radius:22px!important;
  background:#fff!important;
  background-image:none!important;
  border:1px solid #e9e4f2!important;
  box-shadow:0 6px 18px rgba(41,30,78,.035)!important;
  overflow:hidden!important;
}
.fg-main-v209-tags,
#fg-site .fg-main-v209-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-bottom:12px!important;
}
.fg-main-v209-tags span,
#fg-site .fg-main-v209-tags span{
  background:#fff!important;
  color:#5e4dcc!important;
  border:1px solid #e9e4f2!important;
  box-shadow:none!important;
}

/* 최근 등록 예시 문장: 과확대 방지 */
.fg-main-v209-preview,
#fg-site .fg-main-v209-preview{
  min-height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 16px!important;
  border-radius:18px!important;
  background:#fdfcff!important;
  background-image:none!important;
  border:1px solid #f0ecf8!important;
  border-style:solid!important;
  box-shadow:none!important;
  overflow:hidden!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
  font-size:clamp(24px,2.05vw,34px)!important;
  line-height:1.28!important;
  letter-spacing:-.035em!important;
}
.fg-main-v209-preview.is-short,
#fg-site .fg-main-v209-preview.is-short{
  font-size:clamp(25px,2.15vw,36px)!important;
}
.fg-main-v209-preview.is-long,
#fg-site .fg-main-v209-preview.is-long{
  font-size:clamp(21px,1.75vw,30px)!important;
  line-height:1.34!important;
}
.fg-main-v209-font-foot,
#fg-site .fg-main-v209-font-foot{
  display:grid!important;
  gap:12px!important;
  margin-top:16px!important;
}
.fg-main-v209-font-meta,
#fg-site .fg-main-v209-font-meta{
  min-width:0!important;
  text-align:center!important;
}
.fg-main-v209-font-meta strong,
#fg-site .fg-main-v209-font-meta strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.fg-main-v209-font-meta p,
#fg-site .fg-main-v209-font-meta p{
  margin-top:10px!important;
  color:#746d84!important;
}
.fg-main-card-actions,
#fg-site .fg-main-card-actions{
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  gap:10px!important;
  align-items:center!important;
}
.fg-main-card-actions button,
#fg-site .fg-main-card-actions button{
  min-width:0!important;
  height:42px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #e6e0f2!important;
  color:#6b4cff!important;
  box-shadow:none!important;
}
.fg-main-card-actions button.js-fg-compare,
#fg-site .fg-main-card-actions button.js-fg-compare{
  width:100%!important;
}

/* 메인 discovery 영역 정렬 보강 */
.fg-main-discovery-v209,
#fg-site .fg-main-discovery-v209{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:22px!important;
  align-items:start!important;
}
.fg-main-v209-side-stack,
#fg-site .fg-main-v209-side-stack{
  width:100%!important;
  max-width:320px!important;
  margin-left:0!important;
}

@media(max-width:980px){
  .fg-main-discovery-v209,
  #fg-site .fg-main-discovery-v209{
    grid-template-columns:1fr!important;
  }
  .fg-main-v209-side-stack,
  #fg-site .fg-main-v209-side-stack{
    max-width:none!important;
  }
}
@media(max-width:720px){
  .fg-main-v209-card-grid,
  #fg-site .fg-main-v209-card-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .fg-main-v209-font-card,
  #fg-site .fg-main-v209-font-card{
    padding:15px!important;
    border-radius:20px!important;
  }
  .fg-main-v209-preview,
  #fg-site .fg-main-v209-preview{
    min-height:130px!important;
    font-size:clamp(22px,7vw,32px)!important;
  }
}


/* v241: 예시문구 과확대 전역 보정
   오늘의 폰트/최근등록/목록/상세 미리보기 문장이 너무 크게 보이는 문제를 원본 CSS와 최종 CSS 양쪽에서 고정합니다. */

/* 오늘의 폰트 큰 미리보기 */
.fg-main-today-preview,
#fg-site .fg-main-today-preview,
.fg-main-v209-today-card .fg-main-today-preview,
#fg-site .fg-main-v209-today-card .fg-main-today-preview{
  font-size:clamp(24px,2.2vw,36px)!important;
  line-height:1.32!important;
  letter-spacing:-.035em!important;
  min-height:170px!important;
  padding:20px!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}

/* 메인 최근등록/추천 카드 미리보기 */
.fg-main-v209-preview,
#fg-site .fg-main-v209-preview{
  font-size:clamp(19px,1.55vw,27px)!important;
  line-height:1.36!important;
  letter-spacing:-.03em!important;
  min-height:128px!important;
  height:auto!important;
  max-height:none!important;
  padding:16px 14px!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.fg-main-v209-preview.is-short,
#fg-site .fg-main-v209-preview.is-short{
  font-size:clamp(21px,1.75vw,30px)!important;
}
.fg-main-v209-preview.is-long,
#fg-site .fg-main-v209-preview.is-long{
  font-size:clamp(17px,1.35vw,24px)!important;
  line-height:1.42!important;
}

/* 구형 메인/목록 카드 미리보기 */
.fg-main-sample,
#fg-site .fg-main-sample,
.fg-list-sample,
#fg-site .fg-list-sample,
.fg-preview,
#fg-site .fg-preview{
  font-size:clamp(20px,1.75vw,30px)!important;
  line-height:1.36!important;
  letter-spacing:-.03em!important;
  min-height:104px!important;
}

/* 상세페이지 스튜디오 미리보기는 너무 작지 않게만 축소 */
.fg-detail2-preview,
#fg-site .fg-detail2-preview{
  font-size:clamp(30px,3.2vw,44px)!important;
  line-height:1.28!important;
  letter-spacing:-.045em!important;
  min-height:132px!important;
}

/* 카드 하단 제목과 메타가 커 보이는 것 완화 */
.fg-main-v209-font-foot strong,
#fg-site .fg-main-v209-font-foot strong,
.fg-main-font-card strong,
#fg-site .fg-main-font-card strong{
  font-size:15px!important;
  line-height:1.28!important;
}
.fg-main-v209-font-foot p,
#fg-site .fg-main-v209-font-foot p,
.fg-main-font-card p,
#fg-site .fg-main-font-card p{
  font-size:12px!important;
  line-height:1.45!important;
}

/* 모바일에서는 더 얌전하게 */
@media(max-width:760px){
  .fg-main-today-preview,
  #fg-site .fg-main-today-preview,
  .fg-main-v209-today-card .fg-main-today-preview,
  #fg-site .fg-main-v209-today-card .fg-main-today-preview{
    font-size:clamp(23px,6vw,32px)!important;
    min-height:140px!important;
  }
  .fg-main-v209-preview,
  #fg-site .fg-main-v209-preview{
    font-size:clamp(20px,5.6vw,28px)!important;
    min-height:118px!important;
  }
  .fg-main-v209-preview.is-long,
  #fg-site .fg-main-v209-preview.is-long{
    font-size:clamp(18px,5vw,24px)!important;
  }
  .fg-detail2-preview,
  #fg-site .fg-detail2-preview{
    font-size:clamp(28px,8vw,38px)!important;
    min-height:118px!important;
  }
}


/* v242: 메인화면 전체 레이아웃 안정화
   히어로/오늘의 폰트/최근등록/우측패널/하단 CTA가 서로 밀리거나 예시문구가 과확대되는 문제를 메인 전용으로 고정합니다. */

/* 메인 전체 폭/간격 */
.fg-main-v044,
#fg-site .fg-main-v044{
  width:min(100% - 32px,1180px)!important;
  max-width:1180px!important;
  margin:32px auto 80px!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  gap:22px!important;
}

/* 메인 히어로 */
.fg-main-hero-v044,
#fg-site .fg-main-hero-v044{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.fg-main-hero-v044 > *,
#fg-site .fg-main-hero-v044 > *{
  min-width:0!important;
}

/* 빠른 시작 */
.fg-main-quick-v209,
#fg-site .fg-main-quick-v209{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
.fg-main-quick-v209 .fg-main-quick-card,
#fg-site .fg-main-quick-v209 .fg-main-quick-card{
  min-width:0!important;
  min-height:92px!important;
  padding:17px!important;
  box-sizing:border-box!important;
}

/* 오늘의 폰트 */
.fg-main-today-v209,
#fg-site .fg-main-today-v209{
  width:100%!important;
  margin:0!important;
  min-width:0!important;
}
.fg-main-v209-today-card,
#fg-site .fg-main-v209-today-card{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(260px,390px) minmax(0,1fr)!important;
  gap:22px!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
}
.fg-main-v209-today-card .fg-main-today-preview,
#fg-site .fg-main-v209-today-card .fg-main-today-preview{
  min-width:0!important;
  min-height:168px!important;
  max-height:260px!important;
  padding:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  font-size:clamp(24px,2.15vw,35px)!important;
  line-height:1.32!important;
  letter-spacing:-.035em!important;
}
.fg-main-v209-today-card .fg-main-today-info,
#fg-site .fg-main-v209-today-card .fg-main-today-info{
  min-width:0!important;
}
.fg-main-v209-today-card .fg-main-today-info h3,
#fg-site .fg-main-v209-today-card .fg-main-today-info h3{
  font-size:clamp(24px,2.4vw,32px)!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}

/* 공지 띠지 */
.fg-main-notice-v209,
#fg-site .fg-main-notice-v209{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  overflow:hidden!important;
}
.fg-main-notice-v209 a,
#fg-site .fg-main-notice-v209 a{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* 발견 영역: 최근등록 좌측, 우측패널 우측 */
.fg-main-discovery-v209,
#fg-site .fg-main-discovery-v209{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,320px)!important;
  gap:22px!important;
  align-items:start!important;
  margin:0!important;
}
.fg-main-recent-v209,
#fg-site .fg-main-recent-v209{
  grid-column:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  justify-self:stretch!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.fg-main-v209-side-stack,
#fg-site .fg-main-v209-side-stack{
  grid-column:2!important;
  width:100%!important;
  max-width:320px!important;
  min-width:0!important;
  margin:0!important;
  display:grid!important;
  gap:16px!important;
}

/* 최근 등록 카드 grid */
.fg-main-v209-card-grid,
#fg-site .fg-main-v209-card-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(var(--fg-main-card-columns,3),minmax(0,1fr))!important;
  gap:16px!important;
  margin:0!important;
  align-items:stretch!important;
}
.fg-main-v209-font-card,
#fg-site .fg-main-v209-font-card{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:14px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.fg-main-v209-preview,
#fg-site .fg-main-v209-preview{
  height:auto!important;
  min-height:118px!important;
  max-height:160px!important;
  padding:14px 12px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:clamp(18px,1.45vw,25px)!important;
  line-height:1.36!important;
  letter-spacing:-.03em!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.fg-main-v209-preview.is-short,
#fg-site .fg-main-v209-preview.is-short{
  font-size:clamp(20px,1.65vw,28px)!important;
}
.fg-main-v209-preview.is-long,
#fg-site .fg-main-v209-preview.is-long{
  font-size:clamp(16px,1.25vw,22px)!important;
  line-height:1.42!important;
}
.fg-main-v209-tags,
#fg-site .fg-main-v209-tags{
  min-width:0!important;
  overflow:hidden!important;
}
.fg-main-v209-font-foot,
#fg-site .fg-main-v209-font-foot{
  margin-top:auto!important;
  padding-top:12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
}
.fg-main-v209-font-meta,
#fg-site .fg-main-v209-font-meta{
  min-width:0!important;
}
.fg-main-v209-font-meta strong,
#fg-site .fg-main-v209-font-meta strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:15px!important;
}
.fg-main-v209-font-meta p,
#fg-site .fg-main-v209-font-meta p{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12px!important;
}
.fg-main-card-actions,
#fg-site .fg-main-card-actions{
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  gap:8px!important;
  width:100%!important;
}
.fg-main-card-actions button,
#fg-site .fg-main-card-actions button{
  min-width:0!important;
  width:100%!important;
  height:38px!important;
  padding:0 10px!important;
  border-radius:13px!important;
  font-size:12px!important;
}

/* 우측 인기/문장 패널 */
.fg-main-v209-panel,
#fg-site .fg-main-v209-panel{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.fg-main-v209-rank-row,
#fg-site .fg-main-v209-rank-row,
.fg-main-v209-sentence-row,
#fg-site .fg-main-v209-sentence-row{
  min-width:0!important;
  overflow:hidden!important;
}
.fg-main-v209-rank-row strong,
#fg-site .fg-main-v209-rank-row strong{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* 용도별/추천/CTA 영역 */
.fg-main-v209-purpose-grid,
#fg-site .fg-main-v209-purpose-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.fg-main-cta-v209,
#fg-site .fg-main-cta-v209{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* 메인 섹션 헤더 공통 */
.fg-main-section-head,
#fg-site .fg-main-section-head{
  min-width:0!important;
  gap:12px!important;
}
.fg-main-section-head > div,
#fg-site .fg-main-section-head > div{
  min-width:0!important;
}
.fg-main-section-head h2,
#fg-site .fg-main-section-head h2,
.fg-main-section-head p,
#fg-site .fg-main-section-head p{
  overflow-wrap:anywhere!important;
}

/* 반응형 */
@media(max-width:1100px){
  .fg-main-discovery-v209,
  #fg-site .fg-main-discovery-v209{
    grid-template-columns:1fr!important;
  }
  .fg-main-v209-side-stack,
  #fg-site .fg-main-v209-side-stack{
    grid-column:1!important;
    max-width:none!important;
  }
}
@media(max-width:900px){
  .fg-main-quick-v209,
  #fg-site .fg-main-quick-v209,
  .fg-main-v209-purpose-grid,
  #fg-site .fg-main-v209-purpose-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .fg-main-v209-today-card,
  #fg-site .fg-main-v209-today-card{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:720px){
  .fg-main-v044,
  #fg-site .fg-main-v044{
    width:min(100% - 24px,1180px)!important;
    margin-top:22px!important;
    gap:16px!important;
  }
  .fg-main-v209-card-grid,
  #fg-site .fg-main-v209-card-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .fg-main-v209-preview,
  #fg-site .fg-main-v209-preview{
    min-height:112px!important;
    max-height:none!important;
    font-size:clamp(19px,5vw,26px)!important;
  }
  .fg-main-v209-today-card .fg-main-today-preview,
  #fg-site .fg-main-v209-today-card .fg-main-today-preview{
    min-height:130px!important;
    font-size:clamp(22px,6vw,31px)!important;
  }
}
@media(max-width:480px){
  .fg-main-quick-v209,
  #fg-site .fg-main-quick-v209,
  .fg-main-v209-purpose-grid,
  #fg-site .fg-main-v209-purpose-grid{
    grid-template-columns:1fr!important;
  }
}
