/* 인터뷰 페이지(S-30 허브·S-32 문답·S-33·S-35·S-36). F/S/T 카드·추정 블록·정정 시트 부품은 app.css에 있고, 여기에는 화면 전환·허브·문답·시트 보조만 둔다. 한 규칙 한 줄 */
.lm-app[data-screen="S-30"] [data-screen-for]:not([data-screen-for~="S-30"]),.lm-app[data-screen="S-32"] [data-screen-for]:not([data-screen-for~="S-32"]),.lm-app[data-screen="S-35"] [data-screen-for]:not([data-screen-for~="S-35"]){display:none}
/* 준비 전(불러오는 중·JS 없음·첫 요청 실패)에는 빈 제목과 라벨만 남지 않게 본문과 버튼 바를 숨긴다 */
.lm-app:not([data-ready]) .iv-screen,.lm-app:not([data-ready]) .iv-bar,.lm-app[data-state="loading"] .iv-screen,.lm-app[data-state="loading"] .iv-bar,.lm-app[data-state="forbidden"] .iv-screen,.lm-app[data-state="forbidden"] .iv-bar,.lm-app[data-shell="tabs"] .iv-bar{display:none}
/* 허브는 탭 루트라 뒤로 링크가 없고, 상태 줄은 오프라인일 때만 내려온다 */
.lm-app[data-screen="S-30"] .lm-appbar{gap:8px;padding-left:16px}
.lm-app[data-screen="S-30"]:not([data-state="offline"]){padding-top:var(--lm-appbar-height)}
.lm-app[data-screen="S-30"]:not([data-state="offline"])>.lm-statusline{display:none}
/* --iv-bar-h는 interview.js가 버튼 바 실제 높이로 넣는다. 값이 오기 전에는 문답 바(줄 44 + 틈 8 + 입력 48 + 윗선 1) */
.lm-app[data-shell="immersive"][data-screen^="S-3"]{padding-bottom:var(--iv-bar-h,calc(var(--lm-space-12) * 2 + 101px + var(--lm-safe-bottom)))}
.iv-bar__group{display:grid;gap:8px}
.iv-bar__group>.btn:not(.quiet){width:100%}
.iv-hub{display:grid;gap:12px}
.iv-card .lm-card__head{align-items:center}
.iv-card__lead{margin-top:8px;color:var(--lm-text)}
.iv-card__lead.is-strong{color:var(--lm-text-strong)}
.iv-facts{display:grid;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--lm-hairline)}
.iv-fact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:8px;color:var(--lm-text);font-size:14px;line-height:1.5}
.iv-fact>.lm-icon{height:1.5em;color:var(--lm-text-muted)}
.iv-fact--trust>.lm-icon{color:var(--lm-trust)}
.iv-fact__sub{display:block;color:var(--lm-text-muted)}
.iv-card__error{margin-top:12px}
.iv-card .lm-card__actions>.btn{width:100%}
.iv-lock__head{display:flex;align-items:center;gap:8px;margin:0;color:var(--lm-text-strong);font-size:16px;line-height:1.5}
.iv-lock__head>.lm-icon{color:var(--lm-text-muted)}
.iv-lock__desc{margin-top:4px;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.iv-past{margin-top:12px}
.iv-blocked{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center}
.iv-blocked>.lm-icon{color:var(--lm-text-muted)}
.iv-blocked__title{color:var(--lm-text-strong);font-size:18px;line-height:1.35}
.iv-blocked__id{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.iv-blocked>.btn{margin-top:8px}
/* 문답: AI 질문은 흰 면 + 경계(왼쪽), 내 답변은 선택 면(오른쪽). 요약에서 가리킨 답변은 선택 표시(코발트 경계 + 문구) */
.iv-talk{display:grid;gap:16px}
.iv-log{display:grid;gap:16px}
.iv-turn{display:grid;justify-items:start;gap:4px}
.iv-turn--me{justify-items:end}
.iv-turn__label,.iv-turn__meta{color:var(--lm-text-muted);font-size:12px;line-height:1.4}
.iv-q{max-width:92%;padding:12px 16px;border:1px solid var(--lm-border);border-radius:var(--lm-radius);background:var(--lm-bg-surface);color:var(--lm-text-strong)}
.iv-me{max-width:84%;padding:12px 16px;border:1px solid transparent;border-radius:var(--lm-radius);background:var(--lm-bg-selected);color:var(--lm-text-strong);white-space:pre-line;transition:border-color var(--lm-duration-fast) var(--lm-ease-out)}
.iv-turn.is-pending .iv-turn__meta{color:var(--lm-text)}
.iv-turn.is-cited .iv-me{border-color:var(--lm-primary)}
.iv-turn.is-cited .iv-turn__meta{color:var(--lm-primary)}
.iv-skip{padding:8px 0;color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.iv-divider{display:flex;align-items:center;gap:12px;color:var(--lm-text-muted);font-size:12px;line-height:1.4;white-space:nowrap}
.iv-divider::before,.iv-divider::after{content:"";flex:1 1 0;height:1px;background:var(--lm-hairline)}
.iv-divider:empty{display:none}
.iv-q--wait{display:grid;gap:8px;width:64%}
.iv-live:empty{display:none}
.lm-app .iv-fail{margin-bottom:0}
.iv-fail__saved{display:flex;align-items:center;gap:8px;color:var(--lm-text);font-size:14px;line-height:1.5}
.iv-fail__saved>.lm-icon{color:var(--lm-success-text)}
.iv-quick{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.iv-quick .lm-choice__box{padding:0 16px}
.iv-skel-talk{gap:16px}
.iv-skel-talk>.iv-q{display:grid;gap:8px;width:80%}
.iv-skel-talk>.iv-me{display:grid;justify-self:end;width:56%}
.iv-progress{min-width:0;color:var(--lm-text);font-size:12px;line-height:1.4}
.iv-save{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;margin-left:auto}
/* 입력 한 줄 = 경계 1 + 위아래 12 + 줄 22 = 48px, 세 줄(92px)까지 자라고 그 뒤로는 안에서 스크롤한다 */
.iv-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.lm-app .iv-compose textarea{height:var(--iv-input-h,48px);min-height:48px;max-height:92px;padding:12px;font-size:16px;line-height:22px;resize:none}
.lm-app .iv-compose textarea:disabled{border-color:var(--lm-border);background:var(--lm-bg-subtle);opacity:1;cursor:not-allowed}
.iv-compose>.btn{min-height:48px}
.iv-sheet__desc{margin-top:8px;color:var(--lm-text)}
.iv-leave{display:grid;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--lm-hairline)}
.iv-leave>.btn{width:100%}
.iv-leave__note{color:var(--lm-text-muted);font-size:14px;line-height:1.5}
.iv-leave__note:empty{display:none}
.iv-note{align-items:flex-start}
.iv-note>.lm-icon{height:1.5em}
.iv-wait{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--lm-text);font-size:14px;line-height:1.5}
.iv-wait>.lm-icon{color:var(--lm-text-muted)}
.lm-app .iv-sum-alert{margin-bottom:24px}
.iv-history-none{margin-top:24px}
/* 내가 고친 내용에서 온 근거는 누를 곳(문답 턴)이 없어 글자 줄로만 둔다 */
p.lm-quote .lm-quote__src{color:var(--lm-text-muted)}
.iv-correct__note{display:flex;align-items:flex-start;gap:8px;color:var(--lm-text);font-size:14px;line-height:1.5}
.iv-correct__note>.lm-icon{height:1.5em;color:var(--lm-text-muted)}
.lm-app .iv-count{display:flex;justify-content:space-between;gap:12px}
.lm-app .iv-count>span{display:inline}
.iv-sheet__status{display:flex;align-items:center;gap:8px;margin-top:16px;color:var(--lm-text);font-size:14px;line-height:1.5}
.iv-sheet__status:empty{display:none}
.iv-sheet__error{margin-top:16px}
@media (prefers-reduced-motion:reduce) {
.iv-me{transition:none}
}
