/*
 * WOOSURI MAPAE GLOBAL I18N STABILITY V1
 * Translation-only overflow guard.
 * It does not change the Korean design; it only prevents translated text
 * from forcing existing flex/grid/card widths wider than their containers.
 */
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) body,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) main,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) section,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) article,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) div,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) form,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) label {
    min-width: 0;
}

html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) h1,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) h2,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) h3,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) h4,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) p,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) strong,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) span,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) a,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) button,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) small {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
}

html[data-woosuri-lang="ja"] h1,
html[data-woosuri-lang="ja"] h2,
html[data-woosuri-lang="ja"] h3,
html[data-woosuri-lang="zh-hans"] h1,
html[data-woosuri-lang="zh-hans"] h2,
html[data-woosuri-lang="zh-hans"] h3 {
    line-break: strict;
    word-break: normal;
}

/* Inputs keep the exact existing box width; only their text may clip/wrap naturally. */
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) input,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) select,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) textarea {
    min-width: 0;
    max-width: 100%;
}

/*
 * MOBILE/CJK STABILITY V2
 * Geometry, colors, spacing and font sizes are intentionally untouched.
 * Only translated text wrapping/min-width behavior is constrained.
 */
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .story-inner,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .heading,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey-row,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) details,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) summary,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) summary > span,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .content,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .feature-content,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .feature-copy,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .market-grid,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .market-card,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .partner-grid,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .partner-card,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .reward-seat-visual,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .reward-flow,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .reward-action,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .reward-result,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .world-map-structure,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .world-offline-grid,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .world-node,
html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .mini-screen {
    min-width: 0;
    max-width: 100%;
}

html[data-woosuri-lang="ja"] .story,
html[data-woosuri-lang="ja"] .story *,
html[data-woosuri-lang="zh-hans"] .story,
html[data-woosuri-lang="zh-hans"] .story * {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-break: anywhere;
}

@media (max-width: 768px) {
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .story,
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .story-inner,
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey,
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey-row,
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) details,
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) summary,
    html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .content {
        min-width: 0;
        max-width: 100%;
    }
}

/* MOBILE FOREIGN LANGUAGE FRAME LOCK V3 · 2026-08-14 */
@media (max-width:739px){
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]),
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) body{width:100%;max-width:100%;overflow-x:hidden}
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .story,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .story-inner,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .heading,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey-row,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey-row details,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .journey-row summary,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .content,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .feature-content,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .feature-copy{width:100%;min-width:0;max-width:100%}
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .sum-title,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .sum-title-text,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .sum-sub,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .content p,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .quote,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .benefit-line,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .content-note{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .sum-title-text,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .reward-action>*,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .mini-top>*,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .wallet-head>*,
 html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .exchange-row>*{min-width:0}
 html[data-woosuri-lang="ja"] .story *,
 html[data-woosuri-lang="zh-hans"] .story *{overflow-wrap:anywhere;word-break:break-all;line-break:strict}
}



@media (max-width:739px){
    html[data-woosuri-lang="ja"] .story-signup-cta strong,
    html[data-woosuri-lang="zh-hans"] .story-signup-cta strong,
    html[data-woosuri-lang="ja"] .wallet-balance,
    html[data-woosuri-lang="zh-hans"] .wallet-balance,
    html[data-woosuri-lang="ja"] .reward-action b,
    html[data-woosuri-lang="zh-hans"] .reward-action b{
        white-space:normal;
        min-width:0;
        overflow-wrap:anywhere;
    }

    html[data-woosuri-lang="ja"] .world-offline-label,
    html[data-woosuri-lang="zh-hans"] .world-offline-label{
        width:auto;
        max-width:100%;
        white-space:normal;
        overflow-wrap:anywhere;
    }
}

/* I18N LEDGER + SHOP STRUCTURED MOBILE GUARD V1 · 2026-08-15
   Foreign-language overflow only. Korean geometry/design untouched. */
@media (max-width:739px){
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .history-item,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .history-info,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .i18n-ledger-title,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .payment-wallet-check,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .payment-wallet-check article,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .purchase-shipping-confirm{
    min-width:0;
    max-width:100%;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .history-info{
    flex:1 1 0;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .i18n-ledger-title{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .i18n-ledger-title > span{
    display:inline;
    max-width:none;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .history-amount{
    flex:0 0 auto;
    max-width:42%;
  }
}


/* I18N RESIDUAL FINAL V1 · 2026-08-16
   Translation-only wrapping. Korean geometry/design remains untouched. */
@media (max-width:739px){
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .mining-method-card,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .mining-method-copy,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .operator-copy-wrap,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .operator-copy{
    min-width:0;
    max-width:100%;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .mining-method-copy strong{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .operator-copy-wrap,
  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .operator-copy{
    flex:1 1 0;
  }

  html[data-woosuri-lang]:not([data-woosuri-lang="ko"]) .operator-copy h1{
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
    line-break:auto;
  }

  html[data-woosuri-lang="ja"] .operator-copy h1,
  html[data-woosuri-lang="zh-hans"] .operator-copy h1{
    overflow-wrap:anywhere;
    word-break:normal;
    line-break:strict;
  }
}
