/* TROUBLE-HELPER-DESIGN-04 — 분쟁·사고 도우미 (site-trouble-helper.js), owner-confirmed
   시안 04 (2026-10-17). The 사기·피싱 확인 시안 02 look: a light grey page, white cards,
   one blue for press/selected, radius 16, line icons; no drawing, no stacked warning
   boxes. One meaning per colour: blue = press/selected, green = good news (대지급금,
   접수됐어요), amber = a number to watch or something to fix. Text 16 body, 14 help,
   13 at least; targets ≥ 44px (main buttons 52–56px); contrast ≥ 4.5:1.
   Rules are scoped to the trouble workspace so the shared .site-modal rules
   (site-consumer-*.css) do not restyle this page. */

body.chat-home-page .consumer-workspace[data-workspace='trouble'],
.th-page {
  --th-bg: #f6f7f9;
  --th-sf: #ffffff;
  --th-sub: #f2f4f6;
  --th-sub2: #e5e8eb;
  --th-ln: #e5e8eb;
  --th-ln2: #d1d6db;
  --th-field: #d1d6db;
  --th-offtx: #566170;
  --th-tx: #191f28;
  --th-tx2: #4e5968;
  --th-tx3: #5f6b7a;
  --th-focus: #2563eb;
  --th-bl: #2563eb;
  --th-blh: #1d4ed8;
  --th-bls: #eef4ff;
  --th-bll: #c9dafd;
  --th-blt: #1d4ed8;
  --th-onbl: #ffffff;
  --th-gr: #15803d;
  --th-grs: #eaf8ef;
  --th-grl: #a7e3bc;
  --th-am: #b45309;
  --th-ams: #fff5e6;
  --th-aml: #f5d9b0;
  --th-scrim: #111418b8;
  --th-onscrim: #ffffff;
}
body[data-site-theme='dark'] .consumer-workspace[data-workspace='trouble'],
body[data-site-theme='dark'] .th-page,
html[data-site-theme-bootstrap='dark'] body:not([data-site-theme]) .consumer-workspace[data-workspace='trouble'],
html[data-site-theme-bootstrap='dark'] body:not([data-site-theme]) .th-page {
  --th-bg: #17191c;
  --th-sf: #212429;
  --th-sub: #2a2e34;
  --th-sub2: #33373d;
  --th-ln: #33373d;
  --th-ln2: #4a5058;
  --th-field: #4a5058;
  --th-offtx: #a9b2bc;
  --th-tx: #f2f4f6;
  --th-tx2: #c5ccd4;
  --th-tx3: #a9b2bc;
  --th-focus: #8ab4ff;
  --th-bl: #2f6feb;
  --th-blh: #2c68e0;
  --th-bls: #1b2a45;
  --th-bll: #2d4a7c;
  --th-blt: #8ab4ff;
  --th-onbl: #ffffff;
  --th-gr: #86efac;
  --th-grs: #133a24;
  --th-grl: #1f5c3a;
  --th-am: #f2b774;
  --th-ams: #3a2a12;
  --th-aml: #5c4220;
}
@media (prefers-color-scheme: dark) {
  body[data-site-theme='system'] .consumer-workspace[data-workspace='trouble'],
  body[data-site-theme='system'] .th-page,
  html[data-site-theme-bootstrap='system'] body:not([data-site-theme]) .consumer-workspace[data-workspace='trouble'],
  html[data-site-theme-bootstrap='system'] body:not([data-site-theme]) .th-page {
    --th-bg: #17191c;
    --th-sf: #212429;
    --th-sub: #2a2e34;
    --th-sub2: #33373d;
    --th-ln: #33373d;
    --th-ln2: #4a5058;
    --th-field: #4a5058;
    --th-offtx: #a9b2bc;
    --th-tx: #f2f4f6;
    --th-tx2: #c5ccd4;
    --th-tx3: #a9b2bc;
    --th-focus: #8ab4ff;
    --th-bl: #2f6feb;
    --th-blh: #2c68e0;
    --th-bls: #1b2a45;
    --th-bll: #2d4a7c;
    --th-blt: #8ab4ff;
    --th-onbl: #ffffff;
    --th-gr: #86efac;
    --th-grs: #133a24;
    --th-grl: #1f5c3a;
    --th-am: #f2b774;
    --th-ams: #3a2a12;
    --th-aml: #5c4220;
  }
}

/* ── workspace frame: a 968px column right of the LOTBI menu ── */
body.chat-home-page .consumer-workspace[data-workspace='trouble'] { padding: 28px 32px 56px; background: var(--th-bg); color: var(--th-tx); }
body.chat-home-page .consumer-workspace[data-workspace='trouble'] > .site-modal {
  display: flex; flex-direction: column; width: min(100%, 968px); max-width: 968px; margin: 0 auto; padding: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--th-tx); letter-spacing: -.01em;
}
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-header {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 16px; margin: 0; padding: 0; border: 0;
}
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-header h2 {
  order: 2; align-self: stretch; margin: 0; color: var(--th-tx); font-size: 28px; font-weight: 800; line-height: 36px; letter-spacing: -.03em;
}
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-close.th-header-back {
  order: 1; display: inline-flex; align-items: center; gap: 2px; width: auto; height: auto; min-width: 0; min-height: 44px; margin: 0 0 0 -6px; padding: 0 6px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--th-tx2);
  font: inherit; font-size: 15px; font-weight: 700; line-height: 1.5; letter-spacing: -.01em; white-space: nowrap; text-decoration: none; cursor: pointer;
}
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-close.th-header-back::before {
  content: ''; flex: none; width: 20px; height: 20px; color: inherit; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-close.th-header-back:hover { background: transparent; color: var(--th-tx); }
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-close.th-header-back:focus-visible { outline: 3px solid var(--th-focus); outline-offset: 2px; }
body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-content { display: block; margin: 0; padding: 0; }
.trouble-loading { margin: 16px 0 0; color: var(--th-tx2); font-size: 16px; }

/* ── base ── */
body.chat-home-page .th-page{ color: var(--th-tx); font-size: 16px; line-height: 1.5; letter-spacing: -.01em; word-break: keep-all; overflow-wrap: break-word; }
.th-page :is(h1, h2, p, ul, dl, dd, figure) { margin: 0; }
body.chat-home-page .th-page ul{ padding: 0; list-style: none; }
body.chat-home-page .th-page button, body.chat-home-page .th-page input, body.chat-home-page .th-page textarea, body.chat-home-page .th-page a{ font-family: inherit; letter-spacing: inherit; }
body.chat-home-page .th-page button{ cursor: pointer; }
body.chat-home-page .th-page button:disabled{ cursor: default; }
.th-page :is(button, a, input, textarea):focus-visible { outline: 3px solid var(--th-focus); outline-offset: 2px; }
body.chat-home-page .th-page .th-icon{ flex: none; display: block; }
body.chat-home-page .th-page .th-sr{ position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.chat-home-page .th-page .th-view{ display: flex; flex-direction: column; gap: 16px; }
body.chat-home-page .th-page .th-lead{ margin-top: 4px; color: var(--th-tx2); font-size: 16px; line-height: 24px; outline: none; }

/* ── situation tabs (wide) ── */
body.chat-home-page .th-page .th-tabs{ display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }
body.chat-home-page .th-page .th-tab{
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 10px;
  border: 1px solid var(--th-ln); border-radius: 12px; background: var(--th-sf); color: var(--th-tx2); font-size: 15px; font-weight: 700; white-space: nowrap;
}
body.chat-home-page .th-page .th-tab .th-icon{ color: var(--th-tx3); }
body.chat-home-page .th-page .th-tab:hover{ border-color: var(--th-ln2); color: var(--th-tx); }
body.chat-home-page .th-page .th-tab[aria-selected='true']{ border: 2px solid var(--th-bl); padding: 0 9px; background: var(--th-bls); color: var(--th-blt); font-weight: 800; }
body.chat-home-page .th-page .th-tab[aria-selected='true'] .th-icon{ color: var(--th-bl); }

body.chat-home-page .th-page .th-two{ display: grid; grid-template-columns: minmax(0, 452px) minmax(0, 1fr); gap: 20px; align-items: start; }
body.chat-home-page .th-page .th-col{ display: flex; flex-direction: column; gap: 16px; min-width: 0; }

/* ── cards and fields ── */
body.chat-home-page .th-page .th-card{ display: flex; flex-direction: column; gap: 18px; padding: 20px; border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); }
body.chat-home-page .th-page .th-field{ display: flex; flex-direction: column; gap: 10px; min-width: 0; }
body.chat-home-page .th-page .th-label{ display: flex; align-items: baseline; justify-content: space-between; gap: 8px; color: var(--th-tx); font-size: 16px; line-height: 22px; font-weight: 800; letter-spacing: -.02em; }
body.chat-home-page .th-page .th-label small{ color: var(--th-tx3); font-size: 13px; font-weight: 600; letter-spacing: 0; text-align: right; }

body.chat-home-page .th-page .th-shots{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
/* 폴드 펼친 화면처럼 넓은 휴대폰 배치에서는 한 칸이 170px까지 커져 화면 반을 차지했다(폴드7 앱 10-26): 한 칸 최대 120px. */
body.chat-home-page .th-page[data-th-layout='phone'] .th-shots{ grid-template-columns: repeat(4, minmax(0, 120px)); }
body.chat-home-page .th-page .th-add, body.chat-home-page .th-page .th-shot{ position: relative; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; }
body.chat-home-page .th-page .th-add{
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 44px;
  border: 1.5px dashed var(--th-field); background: var(--th-bg); color: var(--th-blt); font-size: 14px; font-weight: 800; cursor: pointer;
}
body.chat-home-page .th-page .th-add .th-icon{ color: var(--th-bl); }
body.chat-home-page .th-page .th-add small{ color: var(--th-tx3); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.chat-home-page .th-page .th-add.is-over{ border-color: var(--th-bl); background: var(--th-bls); }
body.chat-home-page .th-page .th-add.is-full{ cursor: default; }
body.chat-home-page .th-page .th-add:focus-within{ outline: 3px solid var(--th-focus); outline-offset: 2px; }
body.chat-home-page .th-page .th-file-input{ position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
body.chat-home-page .th-page .th-shot{ border: 1px solid var(--th-ln); background: var(--th-sub); }
body.chat-home-page .th-page .th-shot img{ display: block; width: 100%; height: 100%; object-fit: cover; }
body.chat-home-page .th-page .th-shot-file{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 100%; padding: 6px; color: var(--th-tx2); font-size: 13px; text-align: center; }
body.chat-home-page .th-page .th-shot-file span{ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: break-all; }
body.chat-home-page .th-page .th-del{ position: absolute; top: 0; right: 0; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--th-onscrim); }
body.chat-home-page .th-page .th-del::before{ content: ''; position: absolute; top: 5px; right: 5px; width: 26px; height: 26px; border-radius: 50%; background: var(--th-scrim); }
body.chat-home-page .th-page .th-del .th-icon{ position: absolute; top: 11px; right: 11px; stroke-width: 2.6; }

body.chat-home-page .th-page .th-text{ display: flex; flex-direction: column; gap: 6px; padding: 12px 14px 8px; border: 1px solid var(--th-field); border-radius: 12px; background: var(--th-sf); }
body.chat-home-page .th-page .th-text:focus-within{ outline: 3px solid var(--th-focus); outline-offset: 2px; }
body.chat-home-page .th-page .th-textarea{ width: 100%; min-height: 52px; padding: 0; border: 0; background: transparent; color: var(--th-tx); font-size: 16px; line-height: 24px; resize: vertical; outline: none; box-shadow: none; }
body.chat-home-page .th-page .th-textarea::placeholder{ color: var(--th-tx3); opacity: 1; }
body.chat-home-page .th-page .th-count{ align-self: flex-end; color: var(--th-tx3); font-size: 13px; font-variant-numeric: tabular-nums; }

body.chat-home-page .th-page .th-seg{ display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 8px; }
/* 휴대폰에서 네 글자 넘는 보기가 두 줄로 꺾이면 2칸씩 둔다(그 밖의 법률 고민 주제). */
body.chat-home-page .th-page[data-th-layout='phone'] .th-seg{ grid-template-columns: repeat(var(--n-phone, var(--n, 3)), minmax(0, 1fr)); }
body.chat-home-page .th-page .th-select{ display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--th-field); border-radius: 12px; background: var(--th-sf); color: var(--th-tx); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
body.chat-home-page .th-page .th-select[aria-expanded='true']{ border: 2px solid var(--th-bl); padding: 0 13px; }
body.chat-home-page .th-page .th-select:focus-visible{ outline: 2px solid var(--th-focus, var(--th-bl)); outline-offset: 2px; }
body.chat-home-page .th-select-sheet{ display: flex; flex-direction: column; }
body.chat-home-page .th-select-title{ margin: 4px 0 8px; color: var(--th-tx); font-size: 16px; font-weight: 800; }
body.chat-home-page .th-select-list{ display: flex; flex-direction: column; overflow-y: auto; }
body.chat-home-page .th-select-option{ min-height: 48px; padding: 0 4px; border: 0; border-bottom: 1px solid var(--th-ln); background: none; text-align: left; font: inherit; font-size: 15px; color: var(--th-tx); cursor: pointer; }
body.chat-home-page .th-select-option[aria-selected='true']{ font-weight: 800; color: var(--th-bl); }
body.chat-home-page .th-page .th-opt{
  display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 4px 8px; text-align: center;
  border: 1px solid var(--th-field); border-radius: 12px; background: var(--th-sf); color: var(--th-tx); font-size: 15px; font-weight: 600; line-height: 20px;
}
body.chat-home-page .th-page .th-opt[aria-checked='true']{ border: 2px solid var(--th-bl); padding: 3px 7px; background: var(--th-bls); color: var(--th-blt); font-weight: 800; }
/* 좁은 휴대폰(약 360~384px)에서 '멈춰 있었어요'가 두 줄로 꺾였다(M33 앱 10-26): 휴대폰 배치에서는 칩 글자를 한 줄로. */
body.chat-home-page .th-page[data-th-layout='phone'] .th-seg{ gap: 6px; }
body.chat-home-page .th-page[data-th-layout='phone'] .th-opt{ padding: 4px 3px; font-size: 14px; letter-spacing: -0.03em; white-space: nowrap; }
body.chat-home-page .th-page[data-th-layout='phone'] .th-opt[aria-checked='true']{ padding: 3px 2px; }

/* ── buttons ── */
body.chat-home-page .th-page .th-primary, body.chat-home-page .th-page .th-secondary{
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 20px;
  border-radius: 12px; font-size: 16px; font-weight: 800; text-align: center; text-decoration: none;
}
body.chat-home-page .th-page .th-primary{ border: 0; background: var(--th-bl); color: var(--th-onbl); }
body.chat-home-page .th-page .th-primary:hover:not(:disabled){ background: var(--th-blh); }
body.chat-home-page .th-page .th-primary:disabled{ background: var(--th-sub2); color: var(--th-offtx); }
body.chat-home-page .th-page .th-secondary{ border: 1px solid var(--th-field); background: var(--th-sf); color: var(--th-tx); font-weight: 700; }
body.chat-home-page .th-page .th-secondary:hover{ border-color: var(--th-tx2); }
body.chat-home-page .th-page .th-input > .th-primary{ width: 100%; min-height: 56px; font-size: 17px; }
body.chat-home-page .th-page .th-note{ display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-input > .th-note{ margin-top: -6px; }
body.chat-home-page .th-page .th-small{
  display: inline-flex; flex: none; align-items: center; gap: 5px; min-height: 44px; padding: 0 14px; white-space: nowrap;
  border: 1px solid var(--th-field); border-radius: 10px; background: var(--th-sf); color: var(--th-tx); font-size: 14px; font-weight: 800;
}
body.chat-home-page .th-page .th-small .th-icon{ color: var(--th-tx2); }

/* ── result column ── */
body.chat-home-page .th-page .th-ghost{ display: flex; flex-direction: column; gap: 14px; padding: 22px 20px; border: 1px dashed var(--th-ln2); border-radius: 16px; background: var(--th-sf); }
body.chat-home-page .th-page .th-ghost-title{ color: var(--th-tx2); font-size: 17px; line-height: 24px; font-weight: 800; }
body.chat-home-page .th-page .th-ghost-row{ display: flex; align-items: center; gap: 12px; color: var(--th-tx2); font-size: 15px; font-weight: 700; }
body.chat-home-page .th-page .th-ghost-row > span:nth-child(2){ flex: none; width: 150px; }
body.chat-home-page .th-page .th-ghost-icon{ display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--th-sub); color: var(--th-tx3); }
body.chat-home-page .th-page .th-ghost-row i{ flex: 1; height: 10px; border-radius: 999px; background: var(--th-sub); }

body.chat-home-page .th-page .th-loading, body.chat-home-page .th-page .th-state{ display: flex; flex-direction: column; gap: 10px; padding: 32px 24px; border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); }
body.chat-home-page .th-page .th-loading{ align-items: center; text-align: center; }
body.chat-home-page .th-page .th-state{ align-items: flex-start; }
body.chat-home-page .th-page .th-state-icon{ display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 6px; border-radius: 14px; }
body.chat-home-page .th-page .th-state-blue .th-state-icon{ background: var(--th-bls); color: var(--th-bl); }
body.chat-home-page .th-page .th-state-amber .th-state-icon{ background: var(--th-ams); color: var(--th-am); }
body.chat-home-page .th-page .th-state-title{ color: var(--th-tx); font-size: 21px; line-height: 29px; font-weight: 800; letter-spacing: -.03em; }
body.chat-home-page .th-page .th-state-text{ color: var(--th-tx2); font-size: 16px; line-height: 24px; }
body.chat-home-page .th-page .th-state-actions{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
body.chat-home-page .th-page .th-state-actions > *{ min-width: 200px; }
body.chat-home-page .th-page .th-spinner{ display: block; width: 52px; height: 52px; border: 5px solid var(--th-sub2); border-top-color: var(--th-bl); border-radius: 50%; animation: th-spin 1s linear infinite; }
body.chat-home-page .th-page .th-spinner.is-small{ width: 20px; height: 20px; border-width: 3px; }
body.chat-home-page .th-page .th-bar{ display: block; width: 100%; max-width: 320px; height: 6px; margin-top: 10px; border-radius: 999px; background: var(--th-sub2); overflow: hidden; }
body.chat-home-page .th-page .th-bar i{ display: block; width: 42%; height: 100%; border-radius: inherit; background: var(--th-bl); animation: th-slide 1.4s ease-in-out infinite; }
/* 소유자 10-25: 기다림은 투어처럼 단계·예상 시간·그만두기(site-travel.css .t-ld와 같은 모양). */
body.chat-home-page .th-page .th-loading.th-wait{ align-items: stretch; text-align: left; gap: 8px; }
body.chat-home-page .th-page .th-wait-time{ margin: 0; color: var(--th-tx2); font-size: 15px; line-height: 22px; }
body.chat-home-page .th-page .th-wait-bar{ display: block; width: 100%; height: 6px; margin-top: 10px; border-radius: 999px; background: var(--th-sub2); overflow: hidden; }
body.chat-home-page .th-page .th-wait-bar i{ display: block; height: 100%; border-radius: inherit; background: var(--th-bl); transition: width .6s ease; }
body.chat-home-page .th-page .th-wait-steps{ display: flex; flex-direction: column; margin: 6px 0 0; padding: 0; list-style: none; }
body.chat-home-page .th-page .th-wait-step{ display: flex; align-items: center; gap: 12px; padding: 10px 0; color: var(--th-tx); font-size: 16px; line-height: 24px; }
body.chat-home-page .th-page .th-wait-step.is-now{ font-weight: 700; }
body.chat-home-page .th-page .th-wait-step.is-todo{ color: var(--th-tx3); }
body.chat-home-page .th-page .th-wait-check{ box-sizing: border-box; width: 26px; height: 26px; flex: none; display: grid; place-items: center; border-radius: 999px; }
body.chat-home-page .th-page .th-wait-step.is-done .th-wait-check{ background: var(--th-bl); color: var(--th-onbl); }
body.chat-home-page .th-page .th-wait-step.is-now .th-wait-check{ border: 3px solid var(--th-bll); border-top-color: var(--th-bl); animation: th-spin 1s linear infinite; }
body.chat-home-page .th-page .th-wait-step.is-todo .th-wait-check{ border: 2px solid var(--th-ln2); }
body.chat-home-page .th-page .th-wait-stop{ width: 100%; margin-top: 8px; }
/* 마스터·소유자 10-27: 사진 인식 중 표시(모든 사진 방 같은 모양 — 파란 고리 22px + 굵은 15px 문구). */
body.chat-home-page .th-page .lotbi-photo-busy{ display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--th-bls); color: var(--th-tx); font-size: 15px; line-height: 22px; font-weight: 700; }
body.chat-home-page .th-page .lotbi-photo-busy-ring{ box-sizing: border-box; width: 22px; height: 22px; flex: none; border: 3px solid var(--th-bll); border-top-color: var(--th-bl); border-radius: 50%; animation: th-spin 1s linear infinite; }
body.chat-home-page .th-page .th-field > .lotbi-photo-busy{ margin-top: 10px; }
@keyframes th-spin { to { transform: rotate(360deg); } }
@keyframes th-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(240%); } }
@media (prefers-reduced-motion: reduce) { body.chat-home-page .th-page .th-spinner, body.chat-home-page .th-page .th-bar i, body.chat-home-page .th-page .th-wait-check, body.chat-home-page .th-page .lotbi-photo-busy-ring{ animation: none; } }

body.chat-home-page .th-page .th-res{ border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); overflow: hidden; }
body.chat-home-page .th-page .th-res-head{ display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 20px 0; }
body.chat-home-page .th-page .th-res-title{ font-size: 18px; line-height: 25px; font-weight: 800; letter-spacing: -.02em; }
body.chat-home-page .th-page .th-est{ display: inline-flex; align-items: center; gap: 4px; min-height: 26px; padding: 0 10px; border-radius: 999px; background: var(--th-sub); color: var(--th-tx2); font-size: 13px; font-weight: 800; white-space: nowrap; }
body.chat-home-page .th-page .th-stats{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 14px 20px 0; border: 1px solid var(--th-ln); border-radius: 14px; }
body.chat-home-page .th-page .th-stat{ display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 16px 16px 14px; }
body.chat-home-page .th-page .th-stat + .th-stat{ border-left: 1px solid var(--th-ln); }
body.chat-home-page .th-page .th-stats.is-one{ grid-template-columns: minmax(0, 1fr); }
body.chat-home-page .th-page .th-stat-value.is-ratio{ word-break: keep-all; overflow-wrap: normal; }
body.chat-home-page .th-page .th-ratio{ display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 2px; }
body.chat-home-page .th-page .th-stat-label{ color: var(--th-tx2); font-size: 14px; line-height: 20px; font-weight: 700; }
body.chat-home-page .th-page .th-stat-value{ font-size: 28px; line-height: 36px; font-weight: 900; letter-spacing: -.04em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.chat-home-page .th-page .th-stat-value.is-amber{ color: var(--th-am); }
body.chat-home-page .th-page .th-stat-sub{ color: var(--th-tx3); font-size: 13px; line-height: 18px; }
body.chat-home-page .th-page .th-meter{ position: relative; display: block; height: 8px; margin-top: 10px; border-radius: 999px; background: var(--th-sub2); }
body.chat-home-page .th-page .th-meter i{ position: absolute; top: 0; bottom: 0; border-radius: 999px; background: var(--th-bl); }
body.chat-home-page .th-page .th-meter-scale{ display: flex; justify-content: space-between; margin-top: 4px; color: var(--th-tx3); font-size: 13px; line-height: 16px; font-variant-numeric: tabular-nums; }
body.chat-home-page .th-page .th-source{ display: flex; align-items: center; gap: 6px; padding: 10px 20px 0; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-res > .th-source:last-child{ padding-bottom: 20px; }
body.chat-home-page .th-page .th-better{ display: flex; align-items: center; gap: 12px; margin: 14px 20px 20px; padding: 12px 12px 12px 14px; border-radius: 12px; background: var(--th-sub); }
body.chat-home-page .th-page .th-better > .th-icon{ color: var(--th-tx2); }
body.chat-home-page .th-page .th-better-text{ display: flex; flex: 1; flex-direction: column; min-width: 0; }
body.chat-home-page .th-page .th-better-text strong{ font-size: 15px; line-height: 21px; font-weight: 800; }
body.chat-home-page .th-page .th-better-text span{ color: var(--th-tx2); font-size: 14px; line-height: 20px; }
body.chat-home-page .th-page .th-facts{ margin: 14px 20px 0; border-top: 1px solid var(--th-ln); }
body.chat-home-page .th-page .th-facts > div{ display: flex; align-items: baseline; justify-content: space-between; gap: 16px; min-height: 44px; padding: 10px 0; border-bottom: 1px solid var(--th-ln); font-size: 15px; line-height: 22px; }
body.chat-home-page .th-page .th-facts dt{ flex: none; color: var(--th-tx2); }
body.chat-home-page .th-page .th-facts dd{ font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.chat-home-page .th-page .th-res > .th-facts:last-child{ margin-bottom: 20px; }
body.chat-home-page .th-page .th-plain{ margin: 12px 20px 20px; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
/* 지금 할 일 (TROUBLE-DEV-01): 숫자 바로 아래, 검증된 할 일 2~4줄과 연락처 하나 */
body.chat-home-page .th-page .th-next{ display: flex; flex-direction: column; gap: 10px; margin: 14px 20px 0; padding: 14px 14px 14px; border: 1px solid var(--th-bll); border-radius: 14px; background: var(--th-bls); }
body.chat-home-page .th-page .th-next-title{ color: var(--th-blt); font-size: 16px; line-height: 22px; font-weight: 800; }
body.chat-home-page .th-page .th-next-list{ display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.chat-home-page .th-page .th-next-list > li{ display: flex; align-items: flex-start; gap: 10px; }
/* 마스터 10-29(소유자 점검 기준 9 「1·2·3 동그라미」): 파란 동그라미 없이 숫자만. */
body.chat-home-page .th-page .th-next-no{ flex: none; min-width: 18px; color: var(--th-tx); font-size: 15px; line-height: 22px; font-weight: 700; }
body.chat-home-page .th-page .th-next-text{ display: flex; flex-direction: column; min-width: 0; }
body.chat-home-page .th-page .th-next-text strong{ color: var(--th-tx); font-size: 15px; line-height: 22px; font-weight: 800; }
body.chat-home-page .th-page .th-next-text span{ color: var(--th-tx2); font-size: 14px; line-height: 21px; overflow-wrap: anywhere; }
/* 마스터 10-29(5번 사용자 길 19·27·38): 줄마다 그 줄의 전화·누리집 단추 */
body.chat-home-page .th-page .th-next-text .th-step-actions{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
body.chat-home-page .th-page .th-next-text .th-step-action{ display: inline-flex; align-items: center; gap: 4px; min-height: 40px; color: var(--th-blt); font-size: 14px; font-weight: 700; text-decoration: none; }
body.chat-home-page .th-page .th-next-text .th-step-action span{ color: inherit; font-size: inherit; line-height: 20px; }
body.chat-home-page .th-page a.th-lookup{ text-decoration: none; color: inherit; }
body.chat-home-page .th-page a.th-lookup strong{ color: var(--th-blt); }
body.chat-home-page .th-page .th-next-action{ align-self: flex-start; min-height: 52px; margin-top: 2px; }
body.chat-home-page .th-page .th-next-hours{ margin-top: -4px; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-res > .th-next:last-child{ margin-bottom: 20px; }
/* 대지급금 요건 체크 목록 (TROUBLE-DEV-05): 접힌 채로, 펼치면 공식 요건 줄과 출처 */
body.chat-home-page .th-page .th-checklist{ border-top: 1px solid var(--th-bll); padding-top: 4px; }
body.chat-home-page .th-page .th-checklist > summary{ display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 48px; cursor: pointer; list-style: none; color: var(--th-blt); font-size: 15px; line-height: 22px; font-weight: 800; }
body.chat-home-page .th-page .th-checklist > summary::-webkit-details-marker{ display: none; }
body.chat-home-page .th-page .th-checklist[open] > summary svg{ transform: rotate(180deg); }
body.chat-home-page .th-page .th-checklist-lead{ margin: 0 0 8px; color: var(--th-tx); font-size: 14px; line-height: 21px; font-weight: 700; }
body.chat-home-page .th-page .th-checklist ul{ display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.chat-home-page .th-page .th-checklist li{ display: flex; align-items: flex-start; gap: 8px; color: var(--th-tx2); font-size: 14px; line-height: 21px; overflow-wrap: anywhere; }
body.chat-home-page .th-page .th-checklist li svg{ flex: none; margin-top: 2px; color: var(--th-bl); }
body.chat-home-page .th-page .th-checklist-source{ display: inline-flex; align-items: center; min-height: 44px; color: var(--th-blt); font-size: 13px; line-height: 19px; text-decoration: underline; }
body.chat-home-page .th-page .th-result > .th-next{ margin: 0; }
body.chat-home-page .th-page .th-next-slot > .th-next{ margin: 0; }
body.chat-home-page .th-page .th-next-fold{ margin: 14px 0 0; border: 1px solid var(--th-bll); border-radius: 14px; background: var(--th-bls); }
body.chat-home-page .th-page .th-next-fold > summary{ display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px; list-style: none; cursor: pointer; color: var(--th-blt); font-size: 15px; font-weight: 800; }
body.chat-home-page .th-page .th-next-fold > summary::-webkit-details-marker{ display: none; }
body.chat-home-page .th-page .th-next-fold-count{ color: var(--th-tx2); font-size: 14px; font-weight: 600; }
body.chat-home-page .th-page .th-next-fold > summary .th-icon{ margin-left: auto; transition: transform .15s; }
body.chat-home-page .th-page .th-next-fold[open] > summary .th-icon{ transform: rotate(180deg); }
body.chat-home-page .th-page .th-next-fold > .th-next{ margin: 0; border: 0; border-top: 1px solid var(--th-bll); border-radius: 0 0 14px 14px; }
body.chat-home-page .th-page .th-next-fold > .th-next .th-next-title{ display: none; }
body.chat-home-page .th-page .th-login-note{ display: flex; align-items: flex-start; gap: 8px; padding: 12px 14px; border-radius: 12px; background: var(--th-bls); color: var(--th-blt); font-size: 15px; line-height: 22px; font-weight: 700; }
body.chat-home-page .th-page .th-login-note > .th-icon{ flex: none; margin-top: 2px; }
body.chat-home-page .th-page .th-why{ color: var(--th-tx2); font-size: 14px; line-height: 20px; font-weight: 700; text-align: center; }
body.chat-home-page .th-page .th-won{ display: flex; align-items: center; gap: 8px; }
body.chat-home-page .th-page .th-won .th-line{ max-width: 160px; font-size: 16px; }
body.chat-home-page .th-page .th-popup{ position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.4); }
body.chat-home-page .th-page .th-popup-box{ display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 360px; padding: 22px 20px 18px; border-radius: 16px; background: var(--th-sf); }
body.chat-home-page .th-page .th-flag.th-nochart{ margin-bottom: 0; }
body.chat-home-page .th-page .th-similar{ display: flex; flex-direction: column; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--th-ln2); }
body.chat-home-page .th-page .th-similar b{ color: var(--th-tx); font-weight: 800; }
body.chat-home-page .th-page .th-flag{ display: flex; align-items: flex-start; gap: 10px; margin: 14px 20px 20px; padding: 12px 14px; border-radius: 12px; background: var(--th-sub); }
body.chat-home-page .th-page .th-flag.is-ok{ background: var(--th-grs); }
body.chat-home-page .th-page .th-flag.is-ok > .th-icon{ color: var(--th-gr); }
body.chat-home-page .th-page .th-flag > .th-icon{ margin-top: 1px; color: var(--th-tx2); }
body.chat-home-page .th-page .th-flag strong{ display: block; color: var(--th-tx); font-size: 15px; line-height: 22px; font-weight: 700; }
body.chat-home-page .th-page .th-flag small{ display: block; color: var(--th-tx2); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-picks{ display: flex; flex-direction: column; gap: 10px; padding: 16px 20px 20px; }
body.chat-home-page .th-page .th-pick-row{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.chat-home-page .th-page .th-pick{
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 76px; padding: 14px 32px 12px 14px; text-align: left;
  border: 1px solid var(--th-field); border-radius: 12px; background: var(--th-sf); color: var(--th-tx);
}
body.chat-home-page .th-page .th-pick strong{ font-size: 15px; line-height: 21px; font-weight: 800; }
body.chat-home-page .th-page .th-pick > span:not(.th-pick-check){ color: var(--th-tx2); font-size: 13px; line-height: 18px; }
body.chat-home-page .th-page .th-pick[aria-checked='true']{ border: 2px solid var(--th-bl); padding: 13px 31px 11px 13px; background: var(--th-bls); }
body.chat-home-page .th-page .th-pick[aria-checked='true'] strong{ color: var(--th-blt); }
body.chat-home-page .th-page .th-pick-check{ position: absolute; top: 12px; right: 10px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--th-bl); color: var(--th-onbl); }
body.chat-home-page .th-page .th-pick-check .th-icon{ stroke-width: 3; }

body.chat-home-page .th-page .th-docs{ display: flex; flex-direction: column; gap: 10px; }
body.chat-home-page .th-page .th-docs-title{ padding: 4px 2px 0; font-size: 18px; line-height: 25px; font-weight: 800; letter-spacing: -.02em; }
body.chat-home-page .th-page .th-doc{ border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); }
body.chat-home-page .th-page .th-doc.is-open{ border-color: var(--th-bll); }
body.chat-home-page .th-page .th-doc-head{
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 14px 10px 16px; text-align: left;
  border: 0; border-radius: 16px; background: transparent; color: var(--th-tx);
}
body.chat-home-page .th-page .th-doc-head > .th-icon{ color: var(--th-tx3); }
body.chat-home-page .th-page .th-doc-icon{ display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 12px; background: var(--th-sub); color: var(--th-tx2); }
body.chat-home-page .th-page .th-doc.is-open .th-doc-icon{ background: var(--th-bls); color: var(--th-bl); }
body.chat-home-page .th-page .th-doc-text{ display: flex; flex: 1; flex-direction: column; min-width: 0; }
body.chat-home-page .th-page .th-doc-text strong{ font-size: 16px; line-height: 23px; font-weight: 800; }
body.chat-home-page .th-page .th-doc-text span{ color: var(--th-tx2); font-size: 14px; line-height: 20px; }
body.chat-home-page .th-page .th-doc-body{ display: flex; flex-direction: column; gap: 12px; padding: 0 16px 16px; }
body.chat-home-page .th-page .th-paper{
  width: 100%; padding: 14px 16px; border: 1px solid var(--th-ln); border-radius: 12px; background: var(--th-bg); color: var(--th-tx);
  box-sizing: border-box; overflow: hidden; font-size: 15px; line-height: 24px; resize: none; box-shadow: none;
}
body.chat-home-page .th-page .th-doc-actions{ display: flex; flex-wrap: wrap; gap: 8px; }
body.chat-home-page .th-page .th-doc-actions > *{ min-width: 148px; min-height: 48px; }
body.chat-home-page .th-page .th-doc-note{ color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-doc-busy{ display: flex; align-items: center; gap: 10px; color: var(--th-tx2); font-size: 15px; }
body.chat-home-page .th-page .th-doc-body > .th-secondary{ align-self: flex-start; }
body.chat-home-page .th-page .th-disclaimer{ display: flex; align-items: flex-start; gap: 6px; padding: 0 2px; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-disclaimer .th-icon{ margin-top: 2px; }

/* ── consult ── */
body.chat-home-page .th-page .th-w5{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.chat-home-page .th-page .th-w5-item{ display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.chat-home-page .th-page .th-w5-item label{ color: var(--th-tx2); font-size: 13px; line-height: 18px; font-weight: 800; }
body.chat-home-page .th-page .th-line{ width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--th-field); border-radius: 10px; background: var(--th-sf); color: var(--th-tx); font-size: 15px; box-shadow: none; }
body.chat-home-page .th-page .th-line::placeholder{ color: var(--th-tx3); opacity: 1; }
body.chat-home-page .th-page .th-inline-warn{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 12px 14px; border: 1px solid var(--th-aml); border-radius: 12px; background: var(--th-ams); color: var(--th-tx); font-size: 15px; line-height: 22px; }
body.chat-home-page .th-page .th-inline-warn > .th-icon{ color: var(--th-am); }
body.chat-home-page .th-page .th-inline-warn > span{ flex: 1; min-width: 160px; }
body.chat-home-page .th-page .th-done{ display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px solid var(--th-grl); border-radius: 16px; background: var(--th-sf); }
body.chat-home-page .th-page .th-done-icon{ display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: var(--th-grs); color: var(--th-gr); }
body.chat-home-page .th-page .th-done-icon .th-icon{ stroke-width: 2.6; }
body.chat-home-page .th-page .th-receipt{ display: block; margin-top: 6px; font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
body.chat-home-page .th-page .th-history{ border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); overflow: hidden; }
body.chat-home-page .th-page .th-history-title{ padding: 16px 16px 6px; font-size: 17px; line-height: 24px; font-weight: 800; }
body.chat-home-page .th-page .th-history-empty{ padding: 6px 16px 14px; color: var(--th-tx2); font-size: 15px; }
body.chat-home-page .th-page .th-history-action{ padding: 0 16px 16px; }
body.chat-home-page .th-page .th-history-list li{ display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 10px 16px; border-top: 1px solid var(--th-ln); }
body.chat-home-page .th-page .th-history-list li:first-child{ border-top: 0; }
body.chat-home-page .th-page .th-analysis-list li{ display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 10px 16px; border-top: 1px solid var(--th-ln); cursor: pointer; }
body.chat-home-page .th-page .th-analysis-list li:first-child{ border-top: 0; }
body.chat-home-page .th-page .th-history-list li.is-new{ background: var(--th-bls); }
body.chat-home-page .th-page .th-history-text{ display: flex; flex: 1; flex-direction: column; min-width: 0; }
body.chat-home-page .th-page .th-history-text strong{ font-size: 16px; line-height: 23px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.chat-home-page .th-page .th-history-text span{ color: var(--th-tx3); font-size: 13px; line-height: 18px; font-variant-numeric: tabular-nums; }
body.chat-home-page .th-page .th-status{ display: inline-flex; flex: none; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 13px; font-weight: 800; }
body.chat-home-page .th-page .th-status.is-rcv{ border: 1px solid var(--th-bll); background: var(--th-bls); color: var(--th-blt); }
body.chat-home-page .th-page .th-status.is-rev{ background: var(--th-ams); color: var(--th-am); }
body.chat-home-page .th-page .th-status.is-ans{ background: var(--th-grs); color: var(--th-gr); }
body.chat-home-page .th-page .th-status.is-end{ background: var(--th-sub); color: var(--th-tx2); }
body.chat-home-page .th-page .th-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 12px 16px 16px; border-top: 1px solid var(--th-ln); color: var(--th-tx3); font-size: 13px; font-weight: 700; }
body.chat-home-page .th-page .th-flow strong{ color: var(--th-tx2); }
body.chat-home-page .th-page .th-flow > span{ margin-left: auto; }

/* ── phone screens ── */
body.chat-home-page .th-page .th-kinds{ display: flex; flex-direction: column; border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); overflow: hidden; }
body.chat-home-page .th-page .th-kind{ display: flex; align-items: center; gap: 14px; width: 100%; min-height: 76px; padding: 12px 14px 12px 16px; text-align: left; border: 0; border-top: 1px solid var(--th-ln); background: transparent; color: var(--th-tx); }
body.chat-home-page .th-page .th-kind:first-child{ border-top: 0; }
body.chat-home-page .th-page .th-kind > .th-icon{ color: var(--th-tx3); }
body.chat-home-page .th-page .th-kind-icon{ display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 12px; background: var(--th-bls); color: var(--th-bl); }
body.chat-home-page .th-page .th-kind-text{ display: flex; flex: 1; flex-direction: column; gap: 1px; min-width: 0; }
body.chat-home-page .th-page .th-kind-text strong{ font-size: 17px; line-height: 24px; font-weight: 800; letter-spacing: -.02em; }
body.chat-home-page .th-page .th-kind-text span{ color: var(--th-tx2); font-size: 14px; line-height: 20px; }
body.chat-home-page .th-page .th-row{ display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 0 14px 0 16px; text-align: left; border: 1px solid var(--th-ln); border-radius: 16px; background: var(--th-sf); color: var(--th-tx); font-size: 16px; font-weight: 700; }
body.chat-home-page .th-page .th-row > .th-icon:first-child{ color: var(--th-tx2); }
body.chat-home-page .th-page .th-row-text{ flex: 1; }
body.chat-home-page .th-page .th-row-count{ color: var(--th-tx3); font-size: 14px; font-weight: 700; }
body.chat-home-page .th-page .th-row > .th-icon:last-child{ color: var(--th-tx3); }

body.chat-home-page .th-page .th-phone-head{ display: flex; flex-direction: column; gap: 4px; }
body.chat-home-page .th-page .th-back{ display: inline-flex; align-items: center; gap: 2px; align-self: flex-start; min-height: 44px; margin-left: -6px; padding: 0 6px; border: 0; background: transparent; color: var(--th-tx2); font-size: 15px; font-weight: 700; }
body.chat-home-page .th-page .th-title{ font-size: 24px; line-height: 32px; font-weight: 800; letter-spacing: -.03em; outline: none; }
body.chat-home-page .th-page .th-sent{ display: flex; align-items: center; gap: 10px; padding: 8px; border: 1px solid var(--th-ln); border-radius: 12px; background: var(--th-sf); }
body.chat-home-page .th-page .th-minis{ display: flex; flex: none; }
body.chat-home-page .th-page .th-minis > span{ display: grid; place-items: center; width: 36px; height: 36px; margin-left: -10px; overflow: hidden; border: 2px solid var(--th-sf); border-radius: 8px; background: var(--th-sub); color: var(--th-tx2); }
body.chat-home-page .th-page .th-minis > span:first-child{ margin-left: 0; }
body.chat-home-page .th-page .th-minis img{ display: block; width: 100%; height: 100%; object-fit: cover; }
body.chat-home-page .th-page .th-sent-text{ display: flex; flex: 1; flex-direction: column; min-width: 0; padding-left: 4px; }
body.chat-home-page .th-page .th-sent-text strong{ font-size: 15px; line-height: 21px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.chat-home-page .th-page .th-sent-text span{ color: var(--th-tx3); font-size: 13px; line-height: 18px; }
body.chat-home-page .th-page .th-edit{ flex: none; min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--th-blt); font-size: 14px; font-weight: 800; }
body.chat-home-page .th-page .th-cta{ position: sticky; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 8px; margin: 0 -16px -24px; padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--th-ln); background: var(--th-bg); }
/* 글을 쓰는 동안(키보드가 올라온 동안)은 아래 버튼 줄을 숨겨 입력 칸을 가리지 않는다(앱 웹뷰·아이폰, 10-26 점검). */
body.chat-home-page .th-page[data-th-layout='phone'][data-th-typing] .th-cta{ display: none; }
body.chat-home-page .th-page .th-cta > .th-primary{ width: 100%; min-height: 56px; font-size: 17px; }

/* ── a narrower computer ── */
@media (max-width: 1100px) and (min-width: 761px) {
  body.chat-home-page .th-page .th-tab{ flex-direction: column; gap: 2px; min-height: 64px; font-size: 14px; white-space: normal; text-align: center; }
  body.chat-home-page .th-page .th-two{ grid-template-columns: minmax(0, 1fr); }
}

/* ── phone: full screen, one column, one screen at a time ── */
@media (max-width: 760px) {
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] { padding: 8px 16px 24px; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-header { gap: 12px; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-header h2 { font-size: 24px; line-height: 32px; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal-close.th-header-back { min-height: 44px; margin: -2px 0 -2px -6px; }
  /* Inside a situation the page draws its own 〈 분쟁·사고 도우미 and title; the header steps aside (kept for screen readers). */
  body.chat-home-page .consumer-workspace[data-workspace='trouble']:has(.th-page[data-th-layout='phone']:not([data-th-screen='home'])) .site-modal-header {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }
  body.chat-home-page .th-page .th-view{ gap: 12px; }
  body.chat-home-page .th-page .th-card{ gap: 16px; padding: 16px; }
  body.chat-home-page .th-page .th-label{ flex-direction: column; align-items: flex-start; gap: 2px; }
  body.chat-home-page .th-page .th-label small{ text-align: left; }
  body.chat-home-page .th-page .th-w5{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.chat-home-page .th-page .th-res-head{ padding: 16px 16px 0; }
  body.chat-home-page .th-page .th-stats{ margin: 12px 16px 0; }
  body.chat-home-page .th-page .th-stat{ padding: 14px 12px 12px; }
  body.chat-home-page .th-page .th-stat-value{ font-size: 23px; line-height: 31px; }
  body.chat-home-page .th-page .th-source{ padding: 10px 16px 0; }
  body.chat-home-page .th-page .th-res > .th-source:last-child{ padding-bottom: 16px; }
  body.chat-home-page .th-page .th-better{ margin: 12px 16px 16px; }
  /* 5번 10-28 M33 앱(1080 폭): 「영상 다시 고르기」가 칸 절반을 차지해 안내 글이 두세 낱말씩 끊겼다. 폰 폭에서는 단추를 글 아래로. */
  body.chat-home-page .th-page .th-better{ flex-wrap: wrap; align-items: flex-start; }
  body.chat-home-page .th-page .th-better-text{ flex-basis: calc(100% - 34px); }
  body.chat-home-page .th-page .th-better > .th-small{ margin-left: 34px; }
  body.chat-home-page .th-page .th-facts{ margin: 12px 16px 0; }
  body.chat-home-page .th-page .th-res > .th-facts:last-child{ margin-bottom: 16px; }
  body.chat-home-page .th-page .th-plain{ margin: 10px 16px 16px; }
  body.chat-home-page .th-page .th-flag{ margin: 12px 16px 16px; }
  body.chat-home-page .th-page .th-flag.th-nochart{ margin-bottom: 0; }
  body.chat-home-page .th-page .th-next{ margin: 12px 16px 0; }
  body.chat-home-page .th-page .th-next-action{ align-self: stretch; width: 100%; }
  body.chat-home-page .th-page .th-res > .th-next:last-child{ margin-bottom: 16px; }
  body.chat-home-page .th-page .th-picks{ padding: 14px 16px 16px; }
  body.chat-home-page .th-page .th-docs-title{ font-size: 17px; }
  body.chat-home-page .th-page .th-doc-actions > *{ flex: 1; min-width: 0; }
  body.chat-home-page .th-page .th-loading, body.chat-home-page .th-page .th-state{ padding: 28px 18px; }
  body.chat-home-page .th-page .th-state-title{ font-size: 20px; line-height: 28px; }
  body.chat-home-page .th-page .th-state-text{ font-size: 15px; line-height: 22px; }
  body.chat-home-page .th-page .th-state-actions{ width: 100%; flex-direction: column; }
  body.chat-home-page .th-page .th-state-actions > *{ min-width: 0; width: 100%; }
  body.chat-home-page .th-page .th-flow > span{ margin-left: auto; }
}

/* hidden stays hidden even on flex/inline-flex controls */
body.chat-home-page .th-page [hidden] { display: none !important; }
/* the shared site-modal textarea/input rules must not draw a second box inside the 시안 04 field box */
body.chat-home-page .th-page .th-text textarea.th-textarea {
  min-height: 52px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: none; resize: none; font-size: 16px; line-height: 24px; color: var(--th-tx);
}
body.chat-home-page .th-page textarea.th-paper { resize: none; }

/* The shared site-modal input rule (site-consumer-detail.css) stacks :not() selectors and out-ranks a normal class rule,
   so the 시안 04 values of the three kinds of text field are pinned here: one box (not a box inside a box), the board's grey edge. */
body.chat-home-page .th-page .th-text textarea.th-textarea {
  min-height: 52px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; resize: none !important;
  font-size: 16px !important; line-height: 24px !important;
}
body.chat-home-page .th-page input.th-line {
  min-height: 44px !important; padding: 0 12px !important; border: 1px solid var(--th-field) !important; border-radius: 10px !important; background: var(--th-sf) !important; box-shadow: none !important;
  font-size: 15px !important; line-height: 22px !important;
}
body.chat-home-page .th-page textarea.th-paper {
  min-height: 0 !important; padding: 14px 16px !important; border: 1px solid var(--th-ln) !important; border-radius: 12px !important; background: var(--th-bg) !important; box-shadow: none !important;
  font-size: 15px !important; line-height: 24px !important; resize: none !important;
}

/* ── phone: the bottom button sits on the screen's bottom edge even when the card is short ──
   The workspace is the scroller (full screen); it becomes a column so the page can fill it and
   the sticky .th-cta rests at the bottom instead of right under the card. */
@media (max-width: 760px) {
  body.chat-home-page .consumer-workspace[data-workspace='trouble']:has(.th-page[data-th-layout='phone']) { display: flex; flex-direction: column; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble']:has(.th-page[data-th-layout='phone']) > .site-modal { flex: 1 0 auto; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .site-modal > :has(.th-page),
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .th-page[data-th-layout='phone'] { display: flex; flex: 1 0 auto; flex-direction: column; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .th-page[data-th-layout='phone'] > .th-view { flex: 1 0 auto; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble']:has(.th-page[data-th-layout='phone']) { padding-bottom: 0; }
  body.chat-home-page .consumer-workspace[data-workspace='trouble'] .th-page[data-th-layout='phone'] > .th-view:not(:has(.th-cta)) { padding-bottom: 24px; }
  body.chat-home-page .th-page .th-cta{ margin-top: auto; margin-bottom: 0; }
}

/* BLACKBOX-MP4-01: a refused video (not mp4, over 10MB) says why under the picker. */
body.chat-home-page .th-page .th-file-note{ margin: 8px 0 0; color: var(--th-tx2); font-size: 14px; line-height: 1.5; }
body.chat-home-page .th-page .th-file-note:empty{ display: none; }
body.chat-home-page .th-page .th-add-video span{ text-align: center; }
/* 소유자 10-23: 사진·영상 칸이 찍기·고르기 둘로 나뉘어 휴대폰 칸이 68px — 두 낱말 이름이 한 줄에 들어가게. */
body.chat-home-page .th-page .th-add span{ white-space: nowrap; }
@media (max-width: 760px){ body.chat-home-page .th-page .th-add{ font-size: 13px; } }

/* 집 상태 기록(입주·퇴거, 소유자 10-24): 소개 한 줄, 곳마다 사진 목록(받은 시각·찍은 시각·지문), 지운 흔적. */
body.chat-home-page .th-page .th-home-intro{ margin: 0; padding: 12px 14px; border-radius: 12px; background: var(--th-bls); color: var(--th-tx); font-size: 15px; line-height: 22px; font-weight: 600; }
body.chat-home-page .th-page .th-home-hint{ margin: -8px 0 0; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-home-soon{ margin: 0; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-login-inline{ display: flex; flex-direction: column; gap: 10px; }
body.chat-home-page .th-page .th-plain-inline{ margin: 0; color: var(--th-tx2); font-size: 14px; line-height: 20px; }
body.chat-home-page .th-page .th-home-count{ margin: 0 16px 4px; color: var(--th-tx3); font-size: 13px; line-height: 19px; }
body.chat-home-page .th-page .th-home-room{ margin: 12px 16px 0; color: var(--th-tx); font-size: 15px; line-height: 22px; font-weight: 800; }
body.chat-home-page .th-page .th-home-thumb{ flex: 0 0 auto; width: 56px; height: 56px; border-radius: 10px; object-fit: cover; border: 1px solid var(--th-ln); background: var(--th-sub); }
body.chat-home-page .th-page .th-home-thumb.is-empty{ display: flex; align-items: center; justify-content: center; color: var(--th-tx3); }
body.chat-home-page .th-page .th-home-list .th-history-text span{ white-space: normal; }
body.chat-home-page .th-page .th-home-list li.is-deleted .th-history-text strong{ color: var(--th-tx3); }
/* 소유자 10-29: 곳마다 한 줄로 접고, 펼치면 한 줄에 세 장씩 */
body.chat-home-page .th-page .th-home-files{ display: flex; gap: 8px; margin: 10px 16px 0; flex-wrap: wrap; }
body.chat-home-page .th-page .th-home-place{ margin: 10px 16px 0; border: 1px solid var(--th-ln); border-radius: 12px; }
body.chat-home-page .th-page .th-home-place > summary{ display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 14px; cursor: pointer; list-style: none; }
body.chat-home-page .th-page .th-home-place > summary::-webkit-details-marker{ display: none; }
body.chat-home-page .th-page .th-home-place > summary .th-home-room{ margin: 0; }
body.chat-home-page .th-page .th-home-place[open] > summary svg{ transform: rotate(180deg); }
body.chat-home-page .th-page .th-home-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0 10px 10px; }
body.chat-home-page .th-page .th-home-cell{ padding: 0; border: 0; background: none; border-radius: 10px; aspect-ratio: 1; overflow: hidden; }
body.chat-home-page .th-page .th-home-cell[aria-pressed='true']{ outline: 3px solid var(--th-bl); }
body.chat-home-page .th-page .th-home-cell .th-home-thumb{ width: 100%; height: 100%; border-radius: 10px; }
body.chat-home-page .th-page .th-home-open{ display: flex; flex-direction: column; gap: 8px; padding: 0 10px 12px; }
body.chat-home-page .th-page .th-home-open .th-home-thumb{ width: 100%; height: auto; max-height: 60vh; object-fit: contain; }
body.chat-home-page .th-page .th-home-ask{ display: flex; flex: 0 0 auto; gap: 6px; }
/* BIZ-STATUS-01 사업자 정보 확인: a quiet block at the end of the result card. */
body.chat-home-page .th-page .th-biz{ margin: 14px 20px 20px; padding: 14px 16px; border: 1px solid var(--th-ln); border-radius: 12px; background: var(--th-sf); }
body.chat-home-page .th-page .th-biz-title{ margin: 0 0 6px; color: var(--th-tx2); font-size: 15px; font-weight: 700; }
body.chat-home-page .th-page .th-biz-list{ display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.chat-home-page .th-page .th-biz-item{ display: grid; gap: 2px; }
body.chat-home-page .th-page .th-biz-src-name{ min-width: 7.5em; color: var(--th-tx3); font-size: 13px; }
body.chat-home-page .th-page .th-biz-diff{ color: var(--th-tx); font-size: 13.5px; font-weight: 700; line-height: 1.45; }
body.chat-home-page .th-page .th-biz-row{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; color: var(--th-tx); font-size: 15px; line-height: 1.45; }
body.chat-home-page .th-page .th-biz-no{ color: var(--th-tx); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
body.chat-home-page .th-page .th-biz-sub{ color: var(--th-tx3); font-size: 13px; }
body.chat-home-page .th-page .th-biz-note{ margin: 8px 0 0; color: var(--th-tx2); font-size: 13px; line-height: 1.45; }
body.chat-home-page .th-page .th-biz-src{ margin: 4px 0 0; color: var(--th-tx3); font-size: 13px; overflow-wrap: anywhere; }
body.chat-home-page .th-page .th-biz-src a{ color: inherit; text-decoration: underline; }
@media (max-width: 760px) {
  body.chat-home-page .th-page .th-biz{ margin: 12px 16px 16px; }
}
