/* KG-APP-WORLD v1.0 · AI Host 부품 모양 — kg_tokens.css 다음에 읽는다 */
.kg-host { display: flex; gap: var(--kg-s4, 16px); align-items: flex-start; padding: var(--kg-s4, 16px); border-radius: var(--kg-r-lg, 24px); background: var(--kg-paper, #FFFDF9); color: var(--kg-ink, #0D1B3E); box-shadow: var(--kg-shadow-1); font-family: var(--kg-font); max-width: 640px; }
.kg-host__photo { flex: 0 0 auto; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; box-shadow: 0 0 0 3px var(--kg-gold, #C9923A); background: var(--kg-cream, #FBF1E3); }
.kg-host__body { flex: 1 1 auto; min-width: 0; }
.kg-host__name { margin: 0 0 var(--kg-s1, 4px); font: 700 var(--kg-fs-cap, 14px)/1.3 var(--kg-font); color: var(--kg-gold-ink, #8A5D17); letter-spacing: .02em; }
.kg-host__line { margin: 0 0 var(--kg-s3, 12px); font-size: var(--kg-fs-body, 17px); line-height: var(--kg-lh, 1.55); overflow-wrap: anywhere; word-break: keep-all; }
.kg-host__ctl { display: flex; flex-wrap: wrap; gap: var(--kg-s2, 8px); }
.kg-host__b { min-height: 48px; min-width: 48px; padding: 0 14px; display: inline-flex; align-items: center; gap: 6px; border-radius: var(--kg-r-pill, 999px); border: 1.5px solid var(--kg-line, rgba(13,27,62,.14)); background: transparent; color: inherit; font: 600 15px/1 var(--kg-font); cursor: pointer; }
.kg-host__b svg { width: 20px; height: 20px; flex: 0 0 auto; }
.kg-host__b--main { background: var(--kg-gold, #C9923A); border-color: var(--kg-gold, #C9923A); color: var(--kg-navy, #0D1B3E); }
.kg-host__b[aria-pressed="false"] { opacity: .75; }
.kg-host__b:focus-visible { outline: 3px solid var(--kg-gold, #C9923A); outline-offset: 2px; }
/* 건너뛰면 작게 접힌다(사라지지 않음 — 다시 누르면 들을 수 있다) */
.kg-host--min .kg-host__line { display: none; }
.kg-host--min .kg-host__photo { width: 48px; height: 48px; }
/* 좁은 폰(320px): 사진을 위로, 단추는 두 줄까지 */
@media (max-width: 359px) { .kg-host { flex-direction: column; } .kg-host__b { padding: 0 12px; } }
/* 어두운 화면 위에 놓을 때 */
.kg-host--dark { background: rgba(13, 27, 62, .86); color: var(--kg-cream, #FBF1E3); }
.kg-host--dark .kg-host__name { color: var(--kg-gold, #C9923A); }
.kg-host--dark .kg-host__b { border-color: rgba(251, 241, 227, .35); }

/* v1.1 (10/17): 자동 소개 — 소리가 막혔을 때 큰 «소리 켜기», 작은 «시작할 때 다시 틀지 않기» */
.kg-host__b--big { min-height: 56px; padding: 0 22px; font-size: 17px; box-shadow: 0 0 0 4px rgba(201, 146, 58, .28); }
.kg-host__noauto { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; margin-top: var(--kg-s1, 4px); padding: 0 4px; border: 0; background: transparent; color: var(--kg-ink-2, rgba(13,27,62,.72)); font: 400 14px/1.3 var(--kg-font); text-decoration: underline; cursor: pointer; }
.kg-host--dark .kg-host__noauto { color: rgba(251, 241, 227, .82); }
.kg-host__video { object-fit: cover; }
@media (prefers-reduced-motion: reduce) { .kg-host__b--big { box-shadow: none; } }
