/* USA visual release 130.0.0; v128 integration IDs are preserved. No message/result/card wildcard. */
#imo-us-mobile-v128,
#imo-us-mobile-language-v128,
#imo-us-mobile-launcher-v128 { display: none; }

@media (max-width: 767px), (max-width: 1024px) and (max-height: 600px) and (pointer: coarse) {
  html.imo-us-mobile-ready [data-imo-mobile-command-menu="128"],
  html.imo-us-mobile-ready #imo-us-direct-rail,
  html.imo-us-mobile-ready .bp-tabs.kr-derived-quick,
  html.imo-us-mobile-ready .us88-mobile-bar[data-us-tools-empty-v3="true"],
  html.imo-us-mobile-ready .us88-mobile-bar > .us88-mobile-photo,
  html.imo-us-mobile-ready .us88-mobile-bar > .us88-mobile-more,
  html.imo-us-mobile-ready #imo-us-menu-toggle-v3 { display: none !important; }
  html.imo-us-mobile-ready #bpLayout { grid-template-columns: minmax(0,1fr) !important; }
  html.imo-us-mobile-ready #bpLayout > #app { grid-column: 1 / -1 !important; min-width: 0 !important; width: 100% !important; }
  html.imo-us-mobile-ready #bpLayout > #app > .phone { min-width: 0 !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
  #imo-us-mobile-v128,
  #imo-us-mobile-language-v128,
  #imo-us-mobile-launcher-v128,
  #imo-us-mobile-v128 *,
  #imo-us-mobile-language-v128 * { box-sizing: border-box; }
  #imo-us-mobile-v128,
  #imo-us-mobile-language-v128 {
    --imm-height: 100dvh;
    --imm-top: 0px;
    --imm-ink: #f3f5f8;
    --imm-muted: #aab5c4;
    position: fixed !important;
    inset: var(--imm-top) 0 auto 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--imm-height) !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #080c12 !important;
    color: var(--imm-ink) !important;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;
    line-height: 1.4;
    overflow: hidden !important;
    overscroll-behavior: contain;
    box-shadow: none !important;
  }
  #imo-us-mobile-v128::backdrop,
  #imo-us-mobile-language-v128::backdrop { background: #080c12; }
  #imo-us-mobile-v128[open] { display: flex !important; flex-direction: column; }
  #imo-us-mobile-language-v128[open] { display: flex !important; align-items: center; justify-content: center; background: #050505 !important; overflow-y: auto !important; }
  #imo-us-mobile-v128 button,
  #imo-us-mobile-language-v128 button,
  #imo-us-mobile-launcher-v128 { font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
  #imo-us-mobile-v128 button:focus-visible,
  #imo-us-mobile-v128 input:focus-visible,
  #imo-us-mobile-language-v128 button:focus-visible,
  #imo-us-mobile-launcher-v128:focus-visible { outline: 3px solid #d8ecff !important; outline-offset: -3px; }
  #imo-us-mobile-v128 [hidden],
  #imo-us-mobile-language-v128 [hidden],
  #imo-us-mobile-launcher-v128[hidden] { display: none !important; }
  #imo-us-mobile-v128 .imm-header {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    flex: 0 0 auto; padding: max(10px,env(safe-area-inset-top)) 16px 10px; min-height: 58px;
    margin: 0; background: #080c12; border: 0;
  }
  #imo-us-mobile-v128 .imm-brand { display:flex; align-items:baseline; gap:8px; min-width:0; }
  #imo-us-mobile-v128 .imm-wordmark { color: #f8f8f6; font-size: 27px; font-weight: 760; letter-spacing:-1.3px; }
  #imo-us-mobile-v128 .imm-country { color:#a6b3c4; font-size:11px; white-space:nowrap; }
  #imo-us-mobile-v128 .imm-header-actions { display:flex; align-items:center; gap:7px; }
  #imo-us-mobile-v128 .imm-language,
  #imo-us-mobile-v128 .imm-chat { min-height:40px; max-width:133px; padding:8px 11px; border-radius:22px; border:1px solid #283342; color:#e9eff7; background:#121a25; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #imo-us-mobile-v128 .imm-chat { background:transparent; }
  #imo-us-mobile-v128 .imm-search-row { flex:0 0 auto; display:flex; position:relative; margin:0 12px 9px; }
  #imo-us-mobile-v128 .imm-search { width:100%; height:38px; min-height:38px; margin:0; padding:7px 38px 7px 13px; border:1px solid #25313e; border-radius:10px; background:#101722; color:#eff4fa; font:inherit; font-size:14px; -webkit-appearance:none; }
  #imo-us-mobile-v128 .imm-search::placeholder { color:#92a2b5; opacity:1; }
  #imo-us-mobile-v128 .imm-search::-webkit-search-cancel-button { display:none; }
  #imo-us-mobile-v128 .imm-search-clear { position:absolute; right:0; top:0; width:38px; height:38px; padding:0; border:0; background:transparent; color:#c5d2e3; font-size:24px; }
  #imo-us-mobile-v128 .imm-track {
    display:flex !important; flex:1 1 0 !important; flex-flow:row nowrap !important; align-items:stretch !important;
    box-sizing:border-box !important; min-height:0 !important; width:100% !important;
    min-width:0 !important; max-width:100% !important; margin:0 !important; padding:0 !important;
    position:relative !important; direction:ltr; gap:0 !important;
    overflow-x:auto !important; overflow-y:hidden !important; scrollbar-width:none;
    scroll-snap-type:x mandatory; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
    scroll-behavior:auto; overflow-anchor:none; touch-action:pan-x pinch-zoom; outline:0;
  }
  #imo-us-mobile-v128 .imm-track::-webkit-scrollbar { display:none; }
  #imo-us-mobile-v128 .imm-slide {
    display:block !important; position:relative !important; flex:0 0 100% !important; width:100% !important;
    height:100% !important; min-height:0 !important; max-height:100% !important;
    min-width:100% !important; max-width:100% !important; box-sizing:border-box !important;
    margin:0 !important; padding:0 10px !important; border:0; transform:none !important;
    scroll-snap-align:start; scroll-snap-stop:always; background:transparent;
  }
  #imo-us-mobile-v128 .imm-card {
    display:block !important; position:relative !important; box-sizing:border-box !important;
    width:100% !important; min-width:0 !important; max-width:100% !important;
    height:100% !important; min-height:0 !important; max-height:100% !important; aspect-ratio:auto !important;
    margin:0 !important; padding:0 !important; border:1px solid #334354; border-radius:20px; overflow:hidden !important;
    text-align:left; white-space:normal !important; background:#142335; color:#fff; box-shadow:none;
    transform:none !important; touch-action:pan-x pinch-zoom !important;
  }
  #imo-us-mobile-v128 .imm-card:disabled { opacity:.55; }
  #imo-us-mobile-v128 .imm-photo { display:block !important; position:absolute !important; inset:0 !important; width:auto !important; height:auto !important; max-width:none !important; max-height:none !important; margin:0 !important; padding:0 !important; overflow:hidden !important; background:#172b3c; pointer-events:none; }
  #imo-us-mobile-v128 .imm-photo-image { display:block !important; width:100% !important; height:100% !important; min-width:0 !important; min-height:0 !important; max-width:none !important; max-height:none !important; aspect-ratio:auto !important; margin:0 !important; padding:0 !important; object-fit:cover !important; object-position:center; border:0; border-radius:0; user-select:none; -webkit-user-drag:none; }
  #imo-us-mobile-v128 .imm-photo-image[hidden] { display:none !important; }
  #imo-us-mobile-v128 .imm-sprite { display:block !important; position:absolute !important; left:50%; top:50%; width:100%; height:100%; max-width:none !important; max-height:none !important; transform:translate(-50%,-50%); background-repeat:no-repeat; }
  #imo-us-mobile-v128 .imm-photo-empty { background:radial-gradient(ellipse at 25% 20%,#3a5667 0,transparent 62%),linear-gradient(155deg,#153245,#0c1725); }
  #imo-us-mobile-v128 .imm-photo-mark { display:block; padding:22%; color:#728b9d; font-size:70px; font-weight:700; letter-spacing:-5px; }
  #imo-us-mobile-v128 .imm-caption { display:flex; flex-direction:column; position:absolute; inset:auto 0 0; min-height:40%; justify-content:flex-end; gap:8px; padding:58px 22px 23px; background:linear-gradient(transparent,rgba(4,10,17,.80) 40%,rgba(4,10,17,.97)); }
  #imo-us-mobile-v128 .imm-card-title { display:block; color:#fff; margin:0; font-size:clamp(24px,7.5vw,34px); font-weight:740; line-height:1.19; letter-spacing:-.035em; overflow-wrap:anywhere; text-shadow:0 2px 13px rgba(0,0,0,.4); }
  #imo-us-mobile-v128 .imm-card-description { display:block; max-width:29em; color:#e4eaf1; font-size:14px; line-height:1.5; }
  #imo-us-mobile-v128 .imm-card-action { display:flex; align-items:center; gap:12px; margin-top:7px; color:#fff; font-size:13px; font-weight:600; }
  #imo-us-mobile-v128 .imm-action-arrow { display:inline-flex; width:29px; height:29px; align-items:center; justify-content:center; border:1px solid #91a1b0; border-radius:50%; font-size:19px; }
  #imo-us-mobile-v128 .imm-footer { display:flex; flex-direction:column; align-items:center; flex:0 0 auto; margin:0; padding:6px 16px max(10px,env(safe-area-inset-bottom)); gap:2px; background:#080c12; border:0; }
  #imo-us-mobile-v128 .imm-controls { display:flex; width:100%; align-items:center; justify-content:center; gap:26px; }
  #imo-us-mobile-v128 .imm-arrow { width:44px; height:42px; margin:0; padding:0; border:0; border-radius:12px; background:transparent; color:#f2f5fa; font-size:32px; font-family:Arial,sans-serif; font-weight:300; }
  #imo-us-mobile-v128 .imm-arrow:disabled { opacity:.22; }
  #imo-us-mobile-v128 .imm-counter { min-width:78px; text-align:center; color:#ced9e5; font-size:12px; font-variant-numeric:tabular-nums; letter-spacing:.1em; }
  #imo-us-mobile-v128 .imm-hint { margin:0 0 6px; padding:0; color:#899aaf; font-size:11px; line-height:1.4; text-align:center; }
  #imo-us-mobile-v128 .imm-write { display:block; width:100%; min-height:42px; padding:9px 13px; margin:0; border:1px solid #354658; border-radius:11px; background:#172334; color:#e2edf8; font-size:13px; text-align:center; }
  #imo-us-mobile-v128 .imm-empty { padding:20px; margin:0; color:#b4c5d7; font-size:14px; text-align:center; }
  #imo-us-mobile-v128 .imm-error { flex:0 0 auto; padding:6px 16px; margin:0; color:#ffd5c8; font-size:12px; text-align:center; }
  #imo-us-mobile-language-v128 .imm-entry-panel { width:min(100%,460px); padding:32px 28px max(30px,env(safe-area-inset-bottom)); margin:auto; text-align:center; }
  #imo-us-mobile-language-v128 .imm-entry-brand { display:block; margin-bottom:18px; font-size:11px; font-weight:650; letter-spacing:.26em; color:#8f9095; }
  #imo-us-mobile-language-v128 .imm-entry-character { display:block; width:120px; height:180px; max-width:40vw; max-height:23dvh; min-height:0; margin:0 auto 16px; object-fit:contain; object-position:center; border:0; background:transparent; }
  #imo-us-mobile-language-v128 .imm-entry-hello { margin:0 0 10px; color:#f5f5f6; font-size:clamp(25px,7vw,33px); font-weight:650; letter-spacing:-.035em; line-height:1.3; }
  #imo-us-mobile-language-v128 .imm-entry-intro { margin:0 0 24px; color:#8f909a; font-size:13px; line-height:1.6; }
  #imo-us-mobile-language-v128 .imm-entry-title { margin:0 0 20px; color:#e6e6e8; font-size:16px; line-height:1.4; font-weight:500; }
  #imo-us-mobile-language-v128 .imm-language-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #imo-us-mobile-language-v128 .imm-language-choice { min-width:0; min-height:54px; margin:0; padding:13px 7px; border:1px solid #343439; border-radius:12px; background:#151518; color:#ececf0; font-size:15px; font-weight:500; line-height:1.4; }
  #imo-us-mobile-language-v128 .imm-language-choice[aria-pressed="true"] { border-color:#a0a6b1; background:#24262b; }
  #imo-us-mobile-language-v128 .imm-entry-note { margin:23px 0 0; color:#767982; font-size:11px; line-height:1.6; }
  #imo-us-mobile-launcher-v128 { position:fixed !important; z-index:1100; right:max(12px,env(safe-area-inset-right)); bottom:76px; display:block; min-width:105px; min-height:44px; padding:10px 16px; border:1px solid #57728b; border-radius:24px; background:#14273b; color:#f0f6fc; box-shadow:0 5px 22px #0006; font-family:inherit; font-size:13px; line-height:1.4; }
  /* VisualViewport shrinks for a software keyboard without necessarily changing
     the CSS layout viewport. Keep search, one slide and chat reachable. */
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-header { min-height:46px; padding-top:4px; padding-bottom:4px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-search-row { margin-bottom:5px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-search { height:34px; min-height:34px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-search-clear { height:34px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-footer { display:grid; grid-template-columns:1fr 1fr; gap:5px 16px; padding-top:4px; padding-bottom:max(5px,env(safe-area-inset-bottom)); }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-controls { gap:12px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-hint { display:none; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-write { min-height:38px; padding:7px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-caption { padding:30px 20px 13px; gap:4px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-card-title { font-size:24px; }
  #imo-us-mobile-v128[data-imm-compact="true"] .imm-card-description { font-size:12px; }
  #imo-us-mobile-v128[data-imm-tiny="true"] .imm-card-description,
  #imo-us-mobile-v128[data-imm-tiny="true"] .imm-card-action { display:none; }
  #imo-us-mobile-v128[data-imm-tiny="true"] .imm-caption { padding:18px 16px 10px; }
  #imo-us-mobile-v128[data-imm-tiny="true"] .imm-card-title { font-size:20px; }
}
@media (max-width: 767px) and (max-height: 540px), (max-width: 1024px) and (max-height: 600px) and (pointer: coarse) {
  #imo-us-mobile-v128 .imm-header { min-height:46px; padding-top:4px; padding-bottom:4px; }
  #imo-us-mobile-v128 .imm-search-row { margin-bottom:5px; }
  #imo-us-mobile-v128 .imm-search { height:34px; min-height:34px; }
  #imo-us-mobile-v128 .imm-search-clear { height:34px; }
  #imo-us-mobile-v128 .imm-footer { display:grid; grid-template-columns:1fr 1fr; gap:5px 16px; padding-top:4px; padding-bottom:max(5px,env(safe-area-inset-bottom)); }
  #imo-us-mobile-v128 .imm-controls { gap:12px; }
  #imo-us-mobile-v128 .imm-hint { display:none; }
  #imo-us-mobile-v128 .imm-write { min-height:38px; padding:7px; }
  #imo-us-mobile-v128 .imm-caption { padding:30px 20px 13px; gap:4px; }
  #imo-us-mobile-v128 .imm-card-title { font-size:24px; }
  #imo-us-mobile-v128 .imm-card-description { font-size:12px; }
  #imo-us-mobile-v128 .imm-card-action { margin-top:3px; }
  #imo-us-mobile-language-v128 .imm-entry-panel { padding:24px; max-width:540px; }
  #imo-us-mobile-language-v128 .imm-entry-brand { margin-bottom:14px; }
  #imo-us-mobile-language-v128 .imm-entry-character { width:64px; height:96px; max-height:20dvh; margin-bottom:8px; }
  #imo-us-mobile-language-v128 .imm-entry-intro { margin-bottom:18px; }
  #imo-us-mobile-language-v128 .imm-entry-title { margin-bottom:12px; }
  #imo-us-mobile-language-v128 .imm-language-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #imo-us-mobile-language-v128 .imm-language-choice { min-height:45px; padding:9px; }
  #imo-us-mobile-language-v128 .imm-entry-note { margin-top:12px; }
}
@media (prefers-reduced-motion: reduce) {
  #imo-us-mobile-v128 .imm-track { scroll-behavior:auto !important; }
}
