@charset "UTF-8"; /* 대한물리치료사협회 AI 상담 — 시그니처 #205ED6 */

html.kp-ai,
html.kp-ai body { margin: 0; padding: 0; height: 100%; } 

body.kp-ai,
body.kp-ai *,
body.kp-ai *::before,
body.kp-ai *::after { box-sizing: border-box; } 

body.kp-ai { min-width: 360px; overflow: hidden; font-family: var(--kp-font); font-size: 16px; font-weight: 400; letter-spacing: -0.01em; line-height: 1.5; color: var(--ink); background:
 radial-gradient(ellipse 44% 42% at 0% 48%, rgba(165, 225, 255, 0.42), transparent 64%),
 radial-gradient(ellipse 42% 40% at 100% 46%, rgba(90, 155, 255, 0.38), transparent 62%),
 radial-gradient(ellipse 48% 36% at 50% 0%, rgba(175, 145, 255, 0.34), transparent 62%),
 radial-gradient(ellipse 46% 40% at 50% 100%, rgba(255, 175, 215, 0.36), transparent 62%),
 linear-gradient(180deg, #f6f8fc 0%, #f4f6fa 48%, #f7f8fb 100%); background-attachment: fixed; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } 

body.kp-ai ::selection { background: var(--brand-100); } 

/* common.css display 리셋 보정 */
body.kp-ai .kp-app h1,
body.kp-ai .kp-app h2,
body.kp-ai .kp-app p,
body.kp-ai .kp-app button,
body.kp-ai .kp-app span,
body.kp-ai .kp-app label,
body.kp-ai .kp-app textarea,
body.kp-ai .kp-app input { font-family: inherit; letter-spacing: inherit; } 

body.kp-ai .kp-app h1 { display: block; margin: 0; color: var(--brand-ink); font-weight: 800; margin-bottom: 50px; } 
body.kp-ai .kp-app h2 { display: block; margin: 0; color: inherit; } 
body.kp-ai .kp-app p { display: block; margin: 0; color: inherit; line-height: 1.4; margin-bottom: 5px; font-size: 15px; font-weight: 500; } 
body.kp-ai .kp-app button { cursor: pointer; line-height: 1.3; } 
body.kp-ai .kp-app .kp-tab { display: inline-flex; flex: 0 0 auto; } 
body.kp-ai .kp-app textarea,
body.kp-ai .kp-app input { display: block; margin: 0; appearance: none; -webkit-appearance: none; } 
body.kp-ai .kp-app .kp-composer__field { display: flex; } 
:root { --kp-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; --kp-font-min: 14px; --brand: #205ED6; --brand-600: #1a52c4; --brand-700: #205ED6; --brand-800: #205ED6; --brand-ink: #205ED6; --title-ink: #173b72; --brand-100: #d6e4f9; --brand-50: #ebf2fc; --accent: #205ED6; --surface: #ffffff; --surface-2: #f7f9fc; --ink: #2a3344; --ink-2: #4a5568; --muted: #6b7280; --line: #e8ecf2; --line-2: #d8dfe9; --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --shadow-sm: 0 1px 2px rgba(32, 94, 214, 0.06), 0 1px 3px rgba(32, 94, 214, 0.05); --header-h: 64px; --panel-w: 320px; --kp-content-max: 840px; --kp-empty-max: 760px; --kp-guide-slide-max: 1200px; --kp-answer-thread-max: 720px; --kp-answer-spark-w: 44px; --kp-answer-inner-gap: 12px; } 

/* SVG 아이콘 */
.kp-sprite { position: absolute; width: 0; height: 0; overflow: hidden; } 

.kp-svg { display: block; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; } 

.kp-svg use { fill: none; stroke: inherit; } 
.kp-svg--14 { width: 14px; height: 14px; } 
.kp-svg--15 { width: 15px; height: 15px; } 
.kp-svg--16 { width: 16px; height: 16px; } 
.kp-svg--18 { width: 18px; height: 18px; } 
.kp-svg--20 { width: 20px; height: 20px; } 
.kp-svg--24 { width: 24px; height: 24px; } 

.kp-app { display: flex; flex-direction: column; height: 100%; overflow: hidden; font-size: var(--kp-font-min); word-break: keep-all; overflow-wrap: break-word; } 

/* ---------- 헤더 ---------- */
.kp-header { height: var(--header-h); flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; background: oklch(0.99 0.005 264 / .72); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); border-bottom: 1px solid oklch(0.9 0.02 264 / .6); position: relative; z-index: 30; } 
.kp-header__brand { display: flex; align-items: center; gap: 14px; min-width: 0; } 
.kp-logo { height: 30px; width: auto; display: block; } 
.kp-logo-text { margin: 0; padding: 0; font-size: 15px; font-weight: 800; color: var(--brand-800); letter-spacing: -0.02em; line-height: 30px; white-space: nowrap; } 
.kp-header__divider { width: 1px; height: 24px; background: var(--line-2); } 
.kp-header__title { display: flex; align-items: center; gap: 7px; font-weight: 700; font-size: 16px; color: var(--brand-700); letter-spacing: -0.01em; } 
.kp-header__spark { display: flex; align-items: center; color: var(--brand); } 
.kp-header__actions { display: flex; align-items: center; gap: 8px; } 
.kp-btn-ghost { display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--surface); color: var(--ink-2); font-size: 14px; font-weight: 600; transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease; } 
.kp-btn-ghost:hover { background: var(--brand-50); border-color: var(--brand-100); color: var(--brand-700); } 
.kp-btn-ghost.is-on { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: var(--shadow-sm); } 
.kp-btn-ghost.is-on:hover { background: var(--brand-600); color: #fff; } 
.kp-btn-ghost.is-on .kp-svg { color: #fff; } 

/* ---------- 레이아웃 ---------- */
.kp-body { flex: 1 1 auto; display: flex; min-height: 0; position: relative; overflow: hidden; } 
.kp-main { flex: 1 1 auto; min-width: 0; min-height: 0; display: flex; flex-direction: column; position: relative; overflow: hidden; transition: margin-right 0.28s cubic-bezier(0.4, 0, 0.2, 1); } 

/* 메인 오로라 — 왼쪽 하늘 / 오른쪽 파랑 / 위 보라 / 아래 분홍 */
.kp-aurora { position: absolute; inset: -22% -14%; z-index: 0; pointer-events: none; overflow: hidden; } 
.kp-aurora::before { content: ""; position: absolute; left: -18%; top: -18%; width: 136%; height: 136%; background:
 radial-gradient(ellipse 36% 38% at 4% 50%, rgba(165, 225, 255, 0.22), transparent 64%),
 radial-gradient(ellipse 34% 36% at 96% 48%, rgba(90, 155, 255, 0.2), transparent 62%),
 radial-gradient(ellipse 40% 32% at 50% 6%, rgba(175, 145, 255, 0.2), transparent 62%),
 radial-gradient(ellipse 38% 36% at 50% 94%, rgba(255, 175, 215, 0.2), transparent 62%); filter: blur(56px); opacity: 0.78; transform-origin: 50% 50%; animation: kp-aurora-mesh-spin 56s linear infinite; will-change: transform, opacity; } 
.kp-aurora__wrap { position: absolute; display: block; transform-origin: center center; will-change: transform; } 

/* 1 — 왼쪽 · 하늘색 */
.kp-aurora__wrap--1 { width: min(54vw, 580px); height: min(58vw, 620px); left: -12%; top: 26%; right: auto; bottom: auto; animation: kp-aurora-drift-1 32s ease-in-out infinite; } 

/* 2 — 오른쪽 · 파란색 */
.kp-aurora__wrap--2 { width: min(52vw, 560px); height: min(56vw, 600px); right: -10%; top: 30%; left: auto; bottom: auto; animation: kp-aurora-drift-2 38s ease-in-out infinite; } 

/* 3 — 위 · 보라색 */
.kp-aurora__wrap--3 { width: min(58vw, 640px); height: min(46vw, 500px); left: 50%; top: -16%; margin-left: min(-29vw, -320px); right: auto; bottom: auto; animation: kp-aurora-drift-3 34s ease-in-out infinite; } 

/* 4 — 아래 · 분홍색 */
.kp-aurora__wrap--4 { width: min(50vw, 540px); height: min(52vw, 560px); left: 50%; bottom: -14%; margin-left: min(-25vw, -270px); top: auto; right: auto; animation: kp-aurora-drift-4 40s ease-in-out infinite; } 
.kp-aurora__orb { display: block; width: 100%; height: 100%; filter: blur(58px); opacity: 0.62; transform-origin: center center; will-change: transform, opacity, border-radius; } 

/* 하늘색 */
.kp-aurora__orb--1 { border-radius: 63% 37% 55% 45% / 42% 58% 44% 56%; background: radial-gradient(ellipse 62% 54% at 55% 45%, rgba(165, 230, 255, 0.58) 0%, rgba(190, 235, 255, 0.28) 46%, transparent 66%); animation: kp-aurora-spin 44s linear infinite, kp-aurora-morph-1 17s ease-in-out infinite; } 

/* 파란색 */
.kp-aurora__orb--2 { border-radius: 45% 55% 38% 62% / 56% 44% 52% 48%; background: radial-gradient(ellipse 58% 56% at 42% 48%, rgba(70, 140, 255, 0.55) 0%, rgba(100, 165, 255, 0.26) 48%, transparent 66%); animation: kp-aurora-spin 52s linear infinite reverse, kp-aurora-morph-2 21s ease-in-out infinite reverse; } 

/* 보라색 */
.kp-aurora__orb--3 { border-radius: 52% 48% 60% 40% / 47% 53% 41% 59%; background: radial-gradient(ellipse 60% 52% at 50% 62%, rgba(175, 140, 255, 0.56) 0%, rgba(155, 125, 245, 0.24) 50%, transparent 68%); animation: kp-aurora-spin 48s linear infinite, kp-aurora-morph-3 15s ease-in-out infinite; } 

/* 분홍색 */
.kp-aurora__orb--4 { border-radius: 40% 60% 54% 46% / 58% 42% 50% 50%; background: radial-gradient(ellipse 56% 58% at 48% 38%, rgba(255, 175, 215, 0.54) 0%, rgba(255, 195, 225, 0.22) 52%, transparent 68%); animation: kp-aurora-spin 40s linear infinite reverse, kp-aurora-morph-4 19s ease-in-out infinite reverse; } 

@keyframes kp-aurora-mesh-spin { 
 0% { transform: rotate(0deg) scale(1.02); opacity: 0.75; } 
 50% { transform: rotate(180deg) scale(1.06); opacity: 0.9; } 
 100% { transform: rotate(360deg) scale(1.02); opacity: 0.75; } 
 }

@keyframes kp-aurora-spin { 
 0% { transform: rotate(0deg); } 
 100% { transform: rotate(360deg); } 
 }

@keyframes kp-aurora-morph-1 { 0%, 100% { border-radius: 63% 37% 55% 45% / 42% 58% 44% 56%; } 
 25% { border-radius: 48% 52% 42% 58% / 60% 40% 55% 45%; } 
 50% { border-radius: 55% 45% 62% 38% / 38% 62% 48% 52%; } 
 75% { border-radius: 42% 58% 50% 50% / 52% 48% 60% 40%; } 
 }

@keyframes kp-aurora-morph-2 { 0%, 100% { border-radius: 45% 55% 38% 62% / 56% 44% 52% 48%; } 
 33% { border-radius: 58% 42% 54% 46% / 44% 56% 40% 60%; } 
 66% { border-radius: 50% 50% 44% 56% / 62% 38% 54% 46%; } 
 }

@keyframes kp-aurora-morph-3 { 0%, 100% { border-radius: 52% 48% 60% 40% / 47% 53% 41% 59%; } 
 20% { border-radius: 44% 56% 48% 52% / 58% 42% 52% 48%; } 
 55% { border-radius: 60% 40% 46% 54% / 42% 58% 46% 54%; } 
 80% { border-radius: 46% 54% 58% 42% / 54% 46% 44% 56%; } 
 }

@keyframes kp-aurora-morph-4 { 0%, 100% { border-radius: 40% 60% 54% 46% / 58% 42% 50% 50%; } 
 40% { border-radius: 56% 44% 42% 58% / 46% 54% 58% 42%; } 
 70% { border-radius: 48% 52% 60% 40% / 40% 60% 44% 56%; } 
 }

@keyframes kp-aurora-drift-1 { 0%, 100% { transform: translate(0, 0) scale(1); } 
 33% { transform: translate(2vw, 5vh) scale(1.04); } 
 66% { transform: translate(-2vw, -4vh) scale(0.97); } 
 }

@keyframes kp-aurora-drift-2 { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 
 50% { transform: translate(-4vw, 6vh) rotate(3deg); } 
 }

@keyframes kp-aurora-drift-3 { 0%, 100% { transform: translate(0, 0) scale(1); } 
 40% { transform: translate(5vw, 4vh) scale(1.05); } 
 80% { transform: translate(-5vw, 3vh) scale(0.96); } 
 }

@keyframes kp-aurora-drift-4 { 0%, 100% { transform: translate(0, 0); } 
 50% { transform: translate(4vw, -5vh) rotate(-2deg); } 
 }

.kp-main--panel { margin-right: var(--panel-w); } 

/* ---------- 메인: 인사 (첫 화면 — 스크롤 없음) ---------- */
.kp-empty { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 56px 40px; overflow: hidden; position: relative; z-index: 1; } 

/* ---------- 대화 화면 (채팅 길어질 때만 스크롤) ---------- */
.kp-chat { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; position: relative; z-index: 1; } 

.kp-scroll { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 28px 24px 12px; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; } 

#chat-scroll { display: flex; flex-direction: column; gap: 28px; align-items: stretch; } 

#chat-scroll .kp-thread--answer { width: 100%; max-width: min(100%, var(--kp-answer-thread-max)); margin-left: auto; margin-right: auto; } 

.kp-scroll::-webkit-scrollbar { width: 8px; } 

.kp-scroll::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 99px; } 

.kp-scroll::-webkit-scrollbar-track { background: transparent; } 

.kp-thread { max-width: var(--kp-content-max); margin: 0 auto; display: flex; flex-direction: column; gap: 22px; } 

.kp-dock { flex: 0 0 auto; padding: 14px 40px 24px; background: linear-gradient(to top, oklch(0.985 0.008 264 / .92) 55%, transparent); } 

.kp-dock__inner { max-width: var(--kp-empty-max); margin: 0 auto; } 

.kp-dock .kp-composer--big { width: 100%; } 

.kp-dock__hint { text-align: center; font-size: var(--kp-font-min); color: var(--muted); margin: 10px 0 0; line-height: 1.5; } 

/* 첫 화면일 때 대화 영역 숨김 */
.kp-main:not(.kp-main--chat) .kp-chat { display: none; } 

/* 대화 중일 때 인사 화면만 숨김 (오로라 배경 유지) */
.kp-main--chat .kp-empty { display: none; } 

/* 답변 화면 — 홈으로 (왼쪽 상단) */
.kp-back-home { display: none; position: absolute; top: 20px; left: 20px; z-index: 12; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid oklch(1 0 0 / 0.9); color: var(--brand); box-shadow: 0 4px 16px rgba(32, 94, 214, 0.12), 0 2px 6px rgba(22, 40, 72, 0.06); place-items: center; text-decoration: none; transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease; } 

.kp-back-home:hover { background: var(--brand-50); box-shadow: 0 6px 20px rgba(32, 94, 214, 0.18); } 

.kp-back-home:active { transform: scale(0.96); } 

.kp-main--chat .kp-scroll { padding: 32px 40px 16px; } 

.kp-thread--answer { max-width: min(100%, var(--kp-answer-thread-max)); width: 100%; gap: 20px; } 

/* ---------- 질문 pill (우상단) ---------- */
.kp-chat-query { display: flex; justify-content: flex-end; width: 100%; } 

.kp-chat-query__group { display: inline-flex; align-items: flex-start; gap: var(--kp-answer-inner-gap); max-width: 100%; } 

.kp-chat-query__pill { display: inline-block; max-width: 100%; padding: 11px 18px; border-radius: 14px; background: var(--brand); color: #fff; font-size: 16px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.35; box-shadow: 0 6px 18px rgba(32, 94, 214, 0.28); } 

.kp-chat-query__pill.is-streaming::after { content: ""; display: inline-block; width: 2px; height: 0.95em; margin-left: 2px; vertical-align: -0.08em; background: currentColor; opacity: 0.9; animation: kp-query-cursor-blink 0.9s step-end infinite; } 

@keyframes kp-query-cursor-blink { 50% { opacity: 0; } } 

/* ---------- AI 답변 (아바타 + 카드) ---------- */
.kp-answer { display: flex; align-items: flex-start; gap: var(--kp-answer-inner-gap); width: 100%; } 

.kp-answer-card { position: relative; flex: 1 1 0; min-width: 0; box-sizing: border-box; padding: 30px; border-radius: 20px; background: oklch(1 0 0 / 0.94); border: 1px solid oklch(1 0 0 / 0.85); box-shadow:
 0 20px 48px -20px rgba(32, 94, 214, 0.14),
 0 8px 24px -8px rgba(22, 40, 72, 0.08),
 inset 0 1px 0 oklch(1 0 0 / 0.9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); } 

.kp-answer-card__spark { position: relative; flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: var(--kp-answer-spark-w); height: var(--kp-answer-spark-w); margin-top: 2px; border-radius: 12px; background: linear-gradient(145deg, #7b5cf0 0%, #205ED6 100%); box-shadow: 0 6px 16px rgba(32, 94, 214, 0.28); overflow: hidden; } 

.kp-answer-card__spark::after { content: ""; display: block; width: 22px; height: 22px; background-color: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3L15 9L21 12L15 15L12 21L9 15L3 12L9 9Z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3L15 9L21 12L15 15L12 21L9 15L3 12L9 9Z'/%3E%3C/svg%3E") no-repeat center / contain; } 

.kp-answer-card__spark--image { background: #fff; border: 1px solid oklch(1 0 0 / 0.9); box-shadow: 0 4px 12px rgba(32, 94, 214, 0.1); } 

.kp-answer-card__spark--image::after { display: none; } 

.kp-answer-card__spark--image img { display: block; width: 100%; height: 100%; object-fit: cover; } 

.kp-answer-card__body { padding: 4px 0 0; color: var(--ink); font-size: 14px; line-height: 1.65; letter-spacing: -0.02em; } 

.kp-answer-card__lead { margin: 0 0 20px; font-size: 15px; font-weight: 700; color: var(--title-ink); line-height: 1.55; } 

.kp-answer-card__section { margin-bottom: 20px; } 

.kp-answer-card__h { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 14px; font-weight: 700; color: var(--brand); line-height: 1.4; } 

.kp-answer-card__bullet { font-size: var(--kp-font-min); line-height: 1; } 

.kp-answer-card__list { margin: 0; padding: 0 0 0 16px; list-style: none; } 

.kp-answer-card__list li { position: relative; margin-bottom: 8px; padding-left: 2px; color: var(--ink-2); font-size: var(--kp-font-min); line-height: 1.6; } 

.kp-answer-card__list li::before { content: ""; position: absolute; left: -14px; top: 0.62em; width: 5px; height: 5px; border-radius: 50%; background: #c5ced8; transform: translateY(-50%); } 

.kp-answer-card__links { display: flex; flex-direction: column; gap: 10px; } 

.kp-answer-row { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--brand-100); background: var(--brand-50); color: var(--ink); text-decoration: none; transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease; } 

.kp-answer-row:hover { border-color: #b8cff5; background: #e8f1fd; box-shadow: 0 4px 12px rgba(32, 94, 214, 0.1); } 

.kp-answer-row__ico { flex: 0 0 auto; display: flex; color: var(--brand); } 

.kp-answer-row__text { flex: 1; min-width: 0; font-size: var(--kp-font-min); font-weight: 500; line-height: 1.45; letter-spacing: -0.02em; } 

.kp-answer-row__go { flex: 0 0 auto; padding: 6px 12px; border-radius: 8px; background: #fff; border: 1px solid var(--brand-100); color: var(--brand); font-size: var(--kp-font-min); font-weight: 600; line-height: 1.2; } 

.kp-answer-card__note { margin: 0 0 12px; font-size: var(--kp-font-min); font-weight: 600; color: var(--ink-2); } 

.kp-answer-card__table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 4px; } 

.kp-refund-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: var(--kp-font-min); line-height: 1.5; background: #fff; overflow: hidden; } 

.kp-refund-table th,
.kp-refund-table td { border: 1px solid var(--line); padding: 10px 12px; vertical-align: middle; text-align: left; font-weight: 400; color: var(--ink); } 

.kp-refund-table thead th { background: var(--brand-50); font-weight: 700; color: var(--title-ink); text-align: center; } 

.kp-refund-table tbody th[scope="row"] { background: #f7f9fc; font-weight: 600; text-align: center; white-space: nowrap; } 

.kp-refund-table tbody td:last-child { text-align: center; white-space: nowrap; } 

.kp-answer-card__para { margin: 0; color: var(--ink-2); font-size: var(--kp-font-min); line-height: 1.65; letter-spacing: -0.02em; } 

.kp-member-summary-table { width: 100%; min-width: 464px; table-layout: fixed; border-collapse: collapse; font-size: var(--kp-font-min); line-height: 1.45; background: #fff; } 

.kp-member-summary-table th,
.kp-member-summary-table td { border: 1px solid var(--line); padding: 9px 8px; vertical-align: middle; text-align: left; color: var(--ink); white-space: nowrap; } 

.kp-member-summary-table th[scope="row"] { background: var(--brand-50); font-weight: 700; color: var(--title-ink); text-align: center; } 

.kp-member-summary-table td { font-weight: 500; } 

.kp-answer-card__table-wrap--member { overflow-x: auto; -webkit-overflow-scrolling: touch; } 

.kp-member-summary__val--warn { font-weight: 700; color: #ff2929; } 

.kp-answer-card__table-wrap--fit { overflow-x: visible; } 

.kp-edu-status-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; font-size: 13px; line-height: 1.45; background: #fff; } 

.kp-edu-status-table th,
.kp-edu-status-table td { border: 1px solid var(--line); padding: 8px 6px; vertical-align: middle; text-align: left; font-weight: 400; color: var(--ink); word-break: keep-all; overflow-wrap: break-word; } 

.kp-edu-status-table thead th { background: var(--brand-50); font-weight: 700; color: var(--title-ink); text-align: center; } 

.kp-edu-status-table th:nth-child(1),
.kp-edu-status-table td:nth-child(1) { width: 17%; } 

.kp-edu-status-table th:nth-child(2),
.kp-edu-status-table td:nth-child(2) { width: 11%; text-align: center; } 

.kp-edu-status-table th:nth-child(3),
.kp-edu-status-table td:nth-child(3) { width: 9%; text-align: center; } 

.kp-edu-status-table th:nth-child(4),
.kp-edu-status-table td:nth-child(4) { width: 55%; } 

.kp-edu-status-table th:nth-child(5),
.kp-edu-status-table td:nth-child(5) { width: 8%; text-align: center; } 

.kp-stream-pending { display: none !important; }

.kp-answer-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding: 14px 0 18px; border-top: 1px solid var(--line); } 

.kp-answer-card__copy { display: inline-flex; align-items: center; gap: 6px; border: none; padding: 6px 4px; background: none; color: var(--muted); font-size: var(--kp-font-min); font-weight: 500; cursor: pointer; transition: color 0.14s ease; } 

.kp-answer-card__copy:hover { color: var(--brand); } 

.kp-answer-card__feedback { display: flex; align-items: center; gap: 6px; flex-shrink: 1; min-width: 0; } 

.kp-answer-card__feedback-label { font-size: var(--kp-font-min); color: var(--muted); letter-spacing: -0.02em; white-space: nowrap; } 

.kp-svg--vote { width: 15px; height: 15px; } 

.kp-answer-card__vote { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; padding: 0; border: none; border-radius: 8px; background: transparent; color: #9aa3ad; cursor: pointer; overflow: hidden; transition: background 0.14s ease, color 0.14s ease; } 

.kp-answer-card__vote .kp-svg--vote { display: block; } 

.kp-answer-card__vote:hover { background: var(--brand-50); color: var(--brand); } 

.kp-answer-card__vote.is-on { background: var(--brand-50); color: var(--brand); } 

.kp-answer-card__body.is-loading { min-height: 72px; }

.kp-answer-status { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

.kp-answer-status--error { color: #c0392b; }

.kp-md { font-size: 14px; line-height: 1.65; color: var(--ink); word-break: break-word; }

.kp-md h1, .kp-md h2, .kp-md h3, .kp-md h4 { margin: 1em 0 0.5em; color: var(--title-ink); line-height: 1.4; }

.kp-md p { margin: 0 0 0.75em; }

.kp-md ul, .kp-md ol { margin: 0 0 0.75em; padding-left: 1.25em; }

.kp-md li { margin-bottom: 0.35em; }

.kp-md a { color: var(--brand); text-decoration: underline; }

.kp-md--pre, .kp-md__source { margin: 0; padding: 12px 14px; border-radius: 12px; background: #f4f7fb; white-space: pre-wrap; word-break: break-word; font-family: Consolas, "Courier New", monospace; font-size: 13px; }

.kp-md--raw .kp-md__label { margin-bottom: 8px; font-size: 12px; font-weight: 600; color: var(--muted); }

/* ---------- 채팅 하단 입력 ---------- */
.kp-main--chat .kp-dock { padding: 0px 40px 40px; background: linear-gradient(to top, oklch(0.99 0.006 264 / 0.55) 40%, transparent); } 

.kp-dock__inner .kp-dock__hint { margin-top: 12px; } 

.kp-composer--dock { min-height: 52px; align-items: center; padding: 6px 6px 6px 22px; border-radius: 999px; border: 1px solid var(--line-2); background: oklch(1 0 0 / 0.95); box-shadow: 0 8px 28px -8px rgba(32, 94, 214, 0.12); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); } 

.kp-composer--dock .kp-composer__input { padding: 10px 0; font-size: 15px; color: var(--ink); } 

.kp-composer--dock .kp-composer__input::placeholder { color: oklch(0.66 0.02 256); } 

.kp-composer--dock .kp-composer__send { width: 42px; height: 42px; border-radius: 50%; background: #e8ecf1; color: #8b95a1; box-shadow: none; } 

.kp-composer--dock .kp-composer__send:not(:disabled) { background: var(--brand); color: #fff; box-shadow: 0 4px 14px rgba(32, 94, 214, 0.3); } 

.kp-composer--dock .kp-composer__send:disabled { background: #eceff3; color: #a8b0b9; } 


.kp-empty__inner { width: 100%; max-width: var(--kp-guide-slide-max); margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: stretch; position: relative; z-index: 1; } 

.kp-empty__inner > * { width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; } 

.kp-empty__inner > .kp-shortcuts,
.kp-empty__inner > .kp-empty__composer { width: 100%; max-width: var(--kp-empty-max); align-self: center; } 

.kp-empty__inner > .kp-guide-slide { width: 100%; max-width: var(--kp-guide-slide-max); align-self: center; } 

.kp-empty__badge,
.kp-empty__title,
.kp-empty__sub { width: auto; align-self: center; } 

.kp-empty__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: var(--kp-font-min); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand); background: oklch(1 0 0 / .6); border: 1px solid var(--brand-100); padding: 6px 12px; border-radius: 999px; margin-bottom: 14px; box-shadow: 0 4px 14px rgba(32, 94, 214, 0.12); } 

.kp-empty__eyebrow b { display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px var(--brand-50); } 

.kp-empty__badge { display: flex; align-items: center; justify-content: center; margin-bottom: 10px; } 

.kp-empty__badge img { display: block; height: 40px; width: auto; max-width: 100%; } 

body.kp-ai .kp-app .kp-empty__title { font-size: clamp(1.75rem, 3.2vw, 2.375rem); font-weight: 700; letter-spacing: -0.04em; line-height: 1.22; margin-bottom: 28px; color: var(--title-ink); font-weight: 700; } 

.kp-empty__sub { max-width: 520px; font-size: 16px; font-weight: 400; color: var(--muted); line-height: 1.6; letter-spacing: -0.02em; margin-bottom: 28px; } 

/* ---------- 홈 추천 카드 슬라이드 ---------- */
.kp-guide-slide { width: min(100%, var(--kp-guide-slide-max)); margin: 8px auto 32px; } 

.kp-guide-slide__frame { display: flex; align-items: center; gap: 10px; } 

.kp-guide-slide__nav { flex-shrink: 0; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: none; border-radius: 50%; background: var(--brand); color: #fff; box-shadow: 0 6px 20px rgba(32, 94, 214, 0.38), 0 2px 8px rgba(22, 40, 72, 0.12); cursor: pointer; transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease, color 0.16s ease; } 

.kp-guide-slide__nav .kp-svg { stroke-width: 2.2; } 

.kp-guide-slide__nav:hover:not(:disabled) { background: var(--brand-600); color: #fff; box-shadow: 0 8px 24px rgba(32, 94, 214, 0.45), 0 4px 10px rgba(22, 40, 72, 0.14); } 

.kp-guide-slide__nav:active:not(:disabled) { transform: scale(0.96); } 

.kp-guide-slide__nav:disabled { background: var(--brand-100); color: var(--brand); opacity: 1; cursor: not-allowed; box-shadow: none; } 

.kp-guide-slide__viewport { --guide-visible: 4; --guide-gap: 10px; flex: 1; min-width: 0; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--guide-gap) * (var(--guide-visible) - 1))) / var(--guide-visible)); gap: var(--guide-gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 0 20px; } 

.kp-guide-slide__viewport::-webkit-scrollbar { display: none; } 

.kp-guide-slide__track { display: contents; } 

.kp-guide-panel { scroll-snap-align: start; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 7px; min-height: 300px; padding: 18px 16px 16px; border-radius: 18px; border: 1px solid oklch(0.94 0.008 264 / 0.9); background: oklch(1 0 0 / 0.96); box-shadow: 0 10px 28px -12px rgba(32, 94, 214, 0.16), 0 4px 12px -6px rgba(22, 40, 72, 0.06); text-align: left; } 

.kp-guide-panel__eyebrow { margin: 0; font-size: var(--kp-font-min); font-weight: 700; color: var(--brand); letter-spacing: -0.01em; line-height: 1.4; } 

.kp-guide-panel__title { margin: 0 0 5px; font-size: 16px; font-weight: 700; color: var(--title-ink); letter-spacing: -0.03em; line-height: 1.4; } 

.kp-guide-panel__desc { margin: 0 0 10px; font-size: var(--kp-font-min); font-weight: 400; color: var(--muted); line-height: 1.6; letter-spacing: -0.02em; } 

.kp-guide-panel__body { display: flex; flex-direction: column; gap: 0; flex: 1; } 

.kp-guide-panel__body p { display: block; margin: 0 0 10px; font-size: var(--kp-font-min); font-weight: 400; color: var(--ink); line-height: 1.6; letter-spacing: -0.02em; } 

.kp-guide-panel__body p:last-child { margin-bottom: 0; } 

.kp-guide-panel__list { margin: 0; padding-left: 0; flex: 1; list-style: none; font-size: var(--kp-font-min); font-weight: 400; color: var(--muted); line-height: 1.6; letter-spacing: -0.02em; } 

.kp-guide-panel__list li { position: relative; display: block; padding-left: 16px; } 

.kp-guide-panel__list li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 5px; height: 5px; border-radius: 50%; background: var(--brand-50); transform: translateY(-50%); } 

.kp-guide-panel__list li:last-child { margin-bottom: 0; } 

.kp-guide-panel__actions { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 4px; } 

.kp-guide-panel__btn { width: 100%; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: #f3f5f8; color: var(--ink); font-size: var(--kp-font-min); font-weight: 600; letter-spacing: -0.02em; line-height: 1.4; text-align: center; cursor: pointer; transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease; } 

.kp-guide-panel__btn:hover { background: var(--brand-50); border-color: var(--brand-100); color: var(--brand-ink); } 

.kp-guide-panel__btn:active { transform: scale(0.99); } 

.kp-guide-panel--status { position: relative; overflow: hidden; align-items: center; justify-content: center; text-align: center; gap: 20px; min-height: 300px; padding: 28px 20px 22px; border: none; background: #1748b0; box-shadow: none; } 

.kp-guide-panel__status-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; } 

.kp-guide-panel__status-bg::before { content: none; } 

.kp-guide-panel__status-bg::after { content: ''; position: absolute; top: -58%; right: -60%; width: 110%; padding-bottom: 110%; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.22); z-index: 1; box-shadow: 0 0 0 36px rgba(255,255,255,0.06), 0 0 0 72px rgba(255,255,255,0.035); } 

.kp-guide-panel__status-bg__orb { position: absolute; border-radius: 50%; } 

.kp-guide-panel__status-bg__orb--a { top: -20%; right: -8%; width: 65%; height: 65%; background: radial-gradient(circle, rgba(100, 168, 255, 0.55) 0%, transparent 65%); filter: blur(28px); border: none; } 

.kp-guide-panel__status-bg__orb--b { bottom: -20%; left: -10%; width: 60%; height: 60%; background: radial-gradient(circle, rgba(32, 94, 214, 0.6) 0%, transparent 65%); filter: blur(30px); border: none; } 

.kp-guide-panel__status-bg__orb--c { top: -5%; left: -8%; width: 52%; height: 52%; background: radial-gradient(circle, rgba(80, 70, 220, 0.4) 0%, transparent 65%); filter: blur(22px); border: none; } 

.kp-guide-panel__status-bg__line { display: block; position: absolute; top: -32%; right: -38%; width: 60%; padding-bottom: 60%; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.18); background: none; transform: none; } 

.kp-guide-panel__status-bg__ring { display: block; position: absolute; bottom: -58%; left: -60%; width: 110%; padding-bottom: 110%; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.22); background: none; box-shadow: 0 0 0 36px rgba(255,255,255,0.06), 0 0 0 72px rgba(255,255,255,0.035); } 

.kp-guide-panel__status-bg__ring::after { content: ''; position: absolute; top: 10%; left: 10%; right: 10%; bottom: 10%; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.18); } 

.kp-guide-panel--status > *:not(.kp-guide-panel__status-bg) { position: relative; z-index: 1; } 

.kp-guide-panel__status-logo { display: flex; align-items: center; justify-content: center; width: 100%; margin-bottom: 2px; } 

.kp-guide-panel__status-logo img { display: block; height: 60px; width: auto; object-fit: contain; filter: none; background: #fff; padding: 2px; border-radius: 50%; } 

.kp-guide-panel--status .kp-guide-panel__status-text,
body.kp-ai .kp-app .kp-guide-panel--status .kp-guide-panel__status-text { margin: 0; font-size: 18px; font-weight: 500; color: rgba(255, 255, 255, 0.96); line-height: 1.5; letter-spacing: -0.03em; word-break: keep-all; } 

.kp-guide-panel--status .kp-guide-panel__status-text strong,
body.kp-ai .kp-app .kp-guide-panel--status .kp-guide-panel__status-text strong { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -0.035em; } 

.kp-guide-panel__status-cta { display: inline-flex; align-items: center; justify-content: center; margin-top: 10px; padding: 9px 21px; border-radius: 999px; border: none; background: #fff; color: var(--brand); font-family: inherit; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; box-shadow: none; cursor: pointer; transition: background 0.14s ease, color 0.14s ease, transform 0.12s ease; } 

.kp-guide-panel__status-cta:hover { background: #f5f8ff; color: var(--brand-600); box-shadow: none; } 

.kp-guide-panel__status-cta:active { transform: scale(0.98); } 

.kp-guide-panel__status-cta:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

.kp-guide-panel__login-cta { display: inline-flex; align-items: center; justify-content: center; margin-top: 10px; padding: 9px 28px; border-radius: 999px; border: none; background: #fff; color: var(--brand); font-family: inherit; font-size: 17px; font-weight: 700; letter-spacing: -0.02em; cursor: pointer; transition: background 0.14s ease, color 0.14s ease, transform 0.12s ease; }

.kp-guide-panel__login-cta:hover { background: #f5f8ff; color: var(--brand-600); }

.kp-guide-panel__login-cta:active { transform: scale(0.98); }

.kp-guide-panel__login-cta:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.kp-login { position: fixed; inset: 0; z-index: 80; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }

.kp-login[hidden] { display: none; }

.kp-login__backdrop { position: absolute; inset: 0; background: rgba(17, 24, 39, 0.46); }

.kp-login__dialog { position: relative; z-index: 1; width: min(420px, 100%); max-height: calc(100vh - 48px); overflow: auto; padding: 36px 32px 28px; border-radius: 28px; background: #fff; box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22); text-align: center; }

.kp-login__close { position: absolute; top: 16px; right: 16px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: none; border-radius: 50%; background: transparent; color: #9aa3b2; cursor: pointer; }

.kp-login__close svg { width: 20px; height: 20px; }

.kp-login__close:hover { background: #f3f5f8; color: #4b5563; }

.kp-login__logo { display: flex; justify-content: center; margin: 8px 0 18px; }

.kp-login__logo img { display: block; height: 64px; width: auto; object-fit: contain; }

.kp-login__title { margin: 0 0 8px; color: #111827; font-size: 28px; font-weight: 800; letter-spacing: -0.04em; line-height: 1.2; }

.kp-login__desc { margin: 0 0 26px; color: #8b93a1; font-size: 15px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.5; }

.kp-login__form { display: flex; flex-direction: column; gap: 12px; text-align: left; }

.kp-login__field { display: flex; align-items: center; gap: 10px; height: 52px; margin: 0; padding: 0 14px; border: 1px solid #e6e8ee; border-radius: 12px; background: #fff; }

.kp-login__field:focus-within { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12); }

.kp-login__ico { display: flex; flex: 0 0 auto; color: #9aa3b2; }

.kp-login__ico svg { width: 20px; height: 20px; }

.kp-login__field input { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: #1f2937; font-family: inherit; font-size: 15px; font-weight: 500; letter-spacing: -0.02em; }

.kp-login__field input::placeholder { color: #a3acb9; }

.kp-login__eye { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: #9aa3b2; cursor: pointer; }

.kp-login__eye svg { width: 20px; height: 20px; }

.kp-login__eye-off { display: none; }

.kp-login__eye.is-on .kp-login__eye-open { display: none; }

.kp-login__eye.is-on .kp-login__eye-off { display: block; }

.kp-login__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 6px; }

.kp-login__keep { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: #4b5563; font-size: 14px; font-weight: 500; letter-spacing: -0.02em; cursor: pointer; }

.kp-login__keep input { width: 18px; height: 18px; margin: 0; accent-color: #2563eb; cursor: pointer; }

.kp-login__link { color: #2563eb; font-size: 14px; font-weight: 600; letter-spacing: -0.02em; text-decoration: none; white-space: nowrap; }

.kp-login__link:hover { text-decoration: underline; }

.kp-login__submit { display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; margin-top: 4px; border: 0; border-radius: 10px; background: #2563eb; color: #fff; font-family: inherit; font-size: 16px; font-weight: 700; letter-spacing: -0.02em; cursor: pointer; transition: background 0.14s ease; }

.kp-login__submit:hover { background: #1d4ed8; }

.kp-login__submit:active { transform: scale(0.99); }

.kp-login__join { margin: 18px 0 0; color: #6b7280; font-size: 14px; font-weight: 500; letter-spacing: -0.02em; }

@media (max-width: 480px) {
  .kp-login__dialog { padding: 32px 20px 22px; border-radius: 22px; }
  .kp-login__title { font-size: 24px; }
  .kp-login__row { flex-wrap: wrap; }
} 

.kp-guide-slide__dots { display: flex; align-items: center; justify-content: center; gap: 8px; } 

.kp-guide-slide__dots button { width: 7px; height: 7px; padding: 0; border: none; border-radius: 50%; background: #d5dbe5; cursor: pointer; transform: scale(1); opacity: 0.55; transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), background 0.28s ease, opacity 0.28s ease; } 

.kp-guide-slide__dots button:hover { opacity: 0.85; } 

.kp-guide-slide__dots button.is-active { background: var(--brand); opacity: 1; } 

.kp-empty__composer { width: 100%; margin-bottom: 28px; } 

.kp-empty__note { font-size: var(--kp-font-min); color: var(--muted); margin-top: 0; line-height: 1.55; } 

/* ---------- 홈 바로가기 (3×2) ---------- */
.kp-shortcuts { display: grid; gap: 12px; width: 100%; margin: 0 auto 36px; } 

.kp-shortcuts--row { grid-template-columns: 0.92fr 1fr 1.58fr 1.05fr; gap: 10px; } 

.kp-shortcut { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 13px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--line); color: var(--ink); text-decoration: none; box-shadow: 0 4px 18px -8px rgba(32, 94, 214, 0.12), 0 2px 8px -4px rgba(22, 40, 72, 0.05); transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.12s ease; } 

.kp-shortcut:hover { border-color: var(--brand-100); box-shadow: 0 8px 24px -8px rgba(32, 94, 214, 0.18), 0 4px 12px -4px rgba(22, 40, 72, 0.08); } 

.kp-shortcut:active { transform: scale(0.99); } 

.kp-shortcut__ico { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: auto; min-width: 20px; height: 24px; border-radius: 8px; background: #e8f1fc; color: var(--brand); } 

.kp-shortcut__ico:not(.kp-shortcut__ico--logo) { width: 24px; } 

.kp-shortcut__ico--logo { background: transparent; } 

.kp-shortcut__ico-img { display: block; object-fit: contain; } 

.kp-shortcut__ico-img--tone { filter: brightness(0) saturate(100%) invert(32%) sepia(89%) saturate(1876%) hue-rotate(203deg) brightness(93%) contrast(92%); } 

.kp-shortcut__ico-img--youtube { width: 20px; height: 14px; } 

.kp-shortcut__ico-img--band { width: 20px; height: 20px; } 

.kp-shortcut__ico-img--kpta { width: auto; max-width: 28px; height: 20px; } 

.kp-shortcut__ico-img--login { width: 15px; height: 14px; } 

.kp-shortcut__ico-img--file { width: 13px; height: 16px; } 

.kp-shortcut__text { flex: 1; min-width: 0; align-self: center; padding-top: 1px; font-size: 15px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.35; text-align: left; } 

.kp-shortcuts--row .kp-shortcut { align-items: center; min-height: 48px; padding: 10px 10px; gap: 7px; } 

.kp-shortcuts--row .kp-shortcut__text { flex: 1 1 auto; min-width: 0; font-size: var(--kp-font-min); line-height: 1.35; white-space: nowrap; } 

.kp-shortcuts--row .kp-shortcut__arrow { flex-shrink: 0; height: 20px; } 

.kp-shortcut__arrow { flex-shrink: 0; display: flex; align-items: center; align-self: center; height: 22px; color: #c5ccd6; transition: color 0.14s ease; } 

.kp-shortcut:hover .kp-shortcut__arrow { color: #9aa3b0; } 

.kp-acc__ico-wrap { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; } 

.kp-acc__ico-wrap--license { background: #e8f1fc; color: #205ed6; } 
.kp-acc__ico-wrap--edu { background: #e3f4f8; color: #0d8fad; } 
.kp-acc__ico-wrap--fee { background: #eeeaf8; color: #6b4fd4; } 
.kp-acc__ico-wrap--site { background: #e8f6ef; color: #1f9d62; } 

.kp-acc__ico { display: block; width: 16px; height: 16px; object-fit: contain; } 

/* SVG stroke #354052 → 카테고리 색 */
.kp-acc__ico-wrap--license .kp-acc__ico { filter: brightness(0) saturate(100%) invert(32%) sepia(89%) saturate(1876%) hue-rotate(203deg) brightness(93%) contrast(92%); } 
.kp-acc__ico-wrap--edu .kp-acc__ico { filter: brightness(0) saturate(100%) invert(48%) sepia(62%) saturate(749%) hue-rotate(152deg) brightness(91%) contrast(92%); } 
.kp-acc__ico-wrap--fee .kp-acc__ico { filter: brightness(0) saturate(100%) invert(36%) sepia(48%) saturate(1689%) hue-rotate(228deg) brightness(93%) contrast(89%); } 
.kp-acc__ico-wrap--site .kp-acc__ico { filter: brightness(0) saturate(100%) invert(48%) sepia(54%) saturate(619%) hue-rotate(108deg) brightness(93%) contrast(89%); } 

/* ---------- 입력창 ---------- */
.kp-composer { display: flex; align-items: flex-end; gap: 10px; width: 100%; background: var(--surface); border: 1.5px solid var(--line-2); border-radius: var(--r-lg); padding: 8px 8px 8px 18px; box-shadow: var(--shadow-sm); } 

.kp-composer--big { position: relative; isolation: isolate; --kp-composer-big-input-min: 72px; min-height: auto; align-items: flex-end; padding: 14px 14px 12px 22px; border-radius: 24px; border: 1.5px solid oklch(0.92 0.01 264 / 0.85); box-shadow: 0 20px 48px -18px rgba(32, 94, 214, 0.16), 0 4px 14px -6px rgba(32, 94, 214, 0.06), inset 0 1px 0 oklch(1 0 0 / .85); background: oklch(1 0 0 / .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: border-color 0.28s ease, box-shadow 0.28s ease; } 

/* 포커스 시 — 테두리 형태 고정, 그라데이션 색만 은은하게 이동 */
.kp-composer--big::after { content: ""; position: absolute; inset: -2px; border-radius: 26px; padding: 2px; pointer-events: none; z-index: 0; opacity: 0; background: linear-gradient(
 120deg,
 rgba(32, 94, 214, 0.65) 0%,
 rgba(130, 178, 255, 0.8) 22%,
 rgba(205, 198, 255, 0.75) 45%,
 rgba(155, 195, 255, 0.8) 68%,
 rgba(32, 94, 214, 0.65) 100%
 ); background-size: 260% 100%; background-position: 0% 50%; -webkit-mask:
 linear-gradient(#fff 0 0) content-box,
 linear-gradient(#fff 0 0); mask:
 linear-gradient(#fff 0 0) content-box,
 linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; transition: opacity 0.35s ease; } 

.kp-composer--big:focus-within { border-color: transparent; box-shadow:
 0 20px 48px -16px rgba(32, 94, 214, 0.2),
 0 6px 20px -4px rgba(140, 175, 255, 0.14),
 inset 0 1px 0 oklch(1 0 0 / .9); } 

.kp-composer--big:focus-within::after { opacity: 1; animation: kp-composer-border-flow 6.5s ease-in-out infinite alternate; } 

.kp-composer--big > * { position: relative; z-index: 1; } 

@keyframes kp-composer-border-flow { 
 0% { background-position: 0% 50%; } 
 100% { background-position: 100% 50%; } 
 }

.kp-composer--big .kp-composer__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; } 

.kp-composer--big .kp-composer__send { align-self: flex-end; flex-shrink: 0; margin-bottom: 2px; } 

.kp-composer--big .kp-composer__field { flex: 1; min-width: 0; min-height: 0; align-items: flex-start; } 

.kp-composer--big .kp-composer__input { min-height: var(--kp-composer-big-input-min); height: var(--kp-composer-big-input-min); padding: 4px 0; overflow-y: auto; } 

.kp-composer__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } 

.kp-composer-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); font-size: var(--kp-font-min); font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; text-decoration: none; transition: border-color 0.14s ease, background 0.14s ease, color 0.14s ease; } 

button.kp-composer-chip { cursor: pointer; font-family: inherit; appearance: none; -webkit-appearance: none; } 

.kp-composer-chip--home { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border-radius: 50%; background: var(--brand-50); border-color: var(--brand-100); color: var(--brand); } 

.kp-composer-chip--home .kp-composer-chip__ico { width: 18px; height: 18px; color: var(--brand); } 

.kp-composer-chip:hover { border-color: var(--line-2); background: var(--surface-2); color: var(--ink); } 

.kp-composer-chip--home:hover { background: #dce9fc; border-color: #b8d4f9; color: var(--brand-600); } 

.kp-composer-chip:active { transform: scale(0.98); } 

.kp-composer-chip__ico { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; } 

.kp-composer-chip__ico img { display: block; width: 14px; height: 14px; object-fit: contain; } 

.kp-composer-chip__ico .kp-svg { display: block; width: 14px; height: 14px; } 

.kp-composer-chip__text { white-space: nowrap; } 

/* textarea는 ::before 미지원 → 필드 래퍼에 sparkle 아이콘 */
.kp-composer__field { flex: 1; min-width: 0; display: flex; align-items: flex-start; gap: 10px; } 

.kp-composer__field::before { content: ""; flex-shrink: 0; width: 18px; height: 18px; margin-top: 7px; background-color: var(--brand); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3L15 9L21 12L15 15L12 21L9 15L3 12L9 9Z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3L15 9L21 12L15 15L12 21L9 15L3 12L9 9Z'/%3E%3C/svg%3E") no-repeat center / contain; } 

.kp-composer__input { flex: 1; min-width: 0; border: none; outline: none; resize: none; background: transparent; font-size: 15px; line-height: 1.5; color: #67717E; padding: 9px 0; max-height: 160px; } 

.kp-composer--big .kp-composer__input { font-size: 16.5px; } 


.kp-composer__input::placeholder { color: oklch(0.66 0.02 256); } 

.kp-composer__send { flex: 0 0 auto; width: 46px; height: 46px; border: none; border-radius: 14px; background: var(--brand); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 4px 14px rgba(32, 94, 214, 0.35); transition:
 background 0.18s ease,
 box-shadow 0.18s ease,
 transform 0.12s ease,
 color 0.18s ease; } 

.kp-composer__send:not(:disabled):hover { background: var(--brand-600); box-shadow: 0 6px 20px rgba(32, 94, 214, 0.45); transform: translateY(-1px); } 

.kp-composer__send:not(:disabled):active { background: #1749a8; box-shadow: 0 2px 8px rgba(32, 94, 214, 0.3); transform: translateY(0) scale(0.96); } 

.kp-composer__send:disabled { background: var(--brand-100); color: var(--brand); cursor: default; box-shadow: none; opacity: 1; } 

.kp-composer__send:disabled:hover { background: var(--brand-100); transform: none; box-shadow: none; }

.kp-composer__send[aria-label="중단"] { background: #c0392b; color: #fff; box-shadow: 0 4px 14px rgba(192, 57, 43, 0.28); } 

.kp-composer__send[aria-label="중단"]:hover { background: #a93226; box-shadow: 0 6px 20px rgba(192, 57, 43, 0.38); transform: translateY(-1px); } 

.kp-composer__icon--stop { display: none; } 

.kp-composer__send[aria-label="중단"] .kp-composer__icon--send { display: none; } 

.kp-composer__send[aria-label="중단"] .kp-composer__icon--stop { display: block; } 

.kp-composer--dock .kp-composer__send[aria-label="중단"] { background: #c0392b; color: #fff; box-shadow: 0 4px 14px rgba(192, 57, 43, 0.28); } 

/* ---------- 빠른검색 패널 ---------- */
.kp-panel { position: absolute; top: 0; right: 0; height: 100%; width: var(--panel-w); max-width: 100%; background: var(--surface); border-left: 1px solid var(--line); display: flex; flex-direction: column; overflow: hidden; transform: translateX(100%); transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1); z-index: 20; } 

.kp-panel > * { min-width: 0; max-width: 100%; } 

.kp-panel.is-open { transform: translateX(0); box-shadow: -8px 0 28px rgba(22, 40, 72, .05); } 

/* 패널 왼쪽 탭 버튼 (열기/닫기) */
.kp-panel-toggle { position: absolute; top: 1px; right: 0; z-index: 25; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 44px; padding: 16px 8px; border: 1px solid var(--line-2); border-right: none; border-radius: 14px 0 0 14px; background: var(--surface); color: var(--brand-700); box-shadow: -4px 0 18px rgba(22, 40, 72, 0.1); transition: right 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.16s ease, color 0.16s ease, border-color 0.16s ease; } 

.kp-panel-toggle:hover { background: var(--brand-50); border-color: var(--brand-100); color: var(--brand-700); } 

.kp-panel-toggle.is-open { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: -4px 0 20px rgba(32, 94, 214, 0.28); } 

.kp-panel-toggle.is-open:hover { background: var(--brand-600); color: #fff; } 

.kp-body.is-panel-open .kp-panel-toggle { right: var(--panel-w); } 

.kp-panel-toggle__label { display: block; font-size: 15px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.25; writing-mode: vertical-rl; text-orientation: mixed; } 

.kp-panel-toggle__chev { transition: transform 0.22s ease; } 

.kp-panel-toggle:not(.is-open) .kp-panel-toggle__chev { transform: rotate(180deg); } 

.kp-scrim { position: absolute; inset: 0; background: rgba(22, 40, 72, 0.32); z-index: 15; border: none; padding: 0; cursor: pointer; } 

.kp-scrim[hidden] { display: none !important; } 

.kp-panel__member { position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; padding: 15px 18px; background: #1748b0; } 

.kp-panel__member-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; } 

.kp-panel__member-ring { position: absolute; border-radius: 50%; } 

.kp-panel__member-ring--a { top: -70px; right: -70px; width: 180px; height: 180px; border: 1.5px solid rgba(255,255,255,0.24); box-shadow: 0 0 0 22px rgba(255,255,255,0.07), 0 0 0 44px rgba(255,255,255,0.035); } 

.kp-panel__member-ring--b { top: -38px; right: -38px; width: 100px; height: 100px; border: 1.5px solid rgba(255,255,255,0.18); } 

.kp-panel__member-ring--c { top: -14px; right: -14px; width: 44px; height: 44px; border: 1.5px solid rgba(255,255,255,0.13); } 

.kp-panel__member-ring--d { display: none; } 

.kp-panel__member > *:not(.kp-panel__member-bg) { position: relative; z-index: 1; } 

.kp-panel__member-logo { flex-shrink: 0; display: block; width: 55px; height: 55px; border-radius: 50%; object-fit: contain; background: #fff; padding: 2px; margin-left: 10px; } 

.kp-panel__member-info { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding-left: 50px; } 

.kp-panel__member-name { margin: 0 !important; font-size: 22px !important; font-weight: 600 !important; color: #fff !important; letter-spacing: -0.03em !important; line-height: 1.2 !important; white-space: nowrap !important; } 

.kp-panel__member-cta { display: inline-flex; align-items: center; padding: 5px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.6); background: rgba(255,255,255); color: #1748B0; font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; cursor: pointer; transition: background 0.14s ease, border-color 0.14s ease; } 

.kp-panel__member-cta:hover { background: rgba(255,255,255,0.22); border-color: rgba(255,255,255,0.85); } 

.kp-panel__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 14px; } 

.kp-panel__heading { display: flex; align-items: center; gap: 9px; color: var(--brand-700); } 

.kp-panel__heading h2 { font-size: 16.5px; font-weight: 800; letter-spacing: -0.02em; } 

.kp-iconbtn { width: 34px; height: 34px; border: none; border-radius: 9px; background: transparent; color: var(--muted); display: grid; place-items: center; transition: background 0.14s ease, color 0.14s ease; } 

.kp-iconbtn:hover { background: var(--surface-2); color: var(--ink); } 

.kp-panel__search { position: relative; flex: 0 0 auto; min-width: 0; padding: 0 15px 12px; margin: 0; } 

.kp-panel__search-ico { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); display: flex; color: var(--muted); pointer-events: none; } 

.kp-panel__search-input { width: 100%; height: 42px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--surface-2); padding: 0 36px 0 38px; font-size: 14px; color: var(--ink); } 

.kp-panel__search-input::placeholder { color: oklch(0.66 0.02 256); } 

.kp-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; flex: 0 0 auto; min-width: 0; max-width: 100%; padding: 0 20px 12px; } 

.kp-tab { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 36px; padding: 7px 10px; border-radius: 50px; border: 1px solid var(--line-2); background: var(--surface); color: var(--ink-2); font-size: 14px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; text-align: center; white-space: nowrap; transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease; } 

.kp-tab:hover:not(.is-active) { border-color: var(--brand-100); background: var(--brand-50); color: var(--brand-700); } 

.kp-tab.is-active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 2px 8px rgba(32, 94, 214, 0.22); } 

.kp-tab.is-active:hover { background: var(--brand-600); border-color: var(--brand-600); color: #fff; box-shadow: 0 2px 10px rgba(32, 94, 214, 0.28); } 

.kp-panel__body { flex: 1; overflow-y: auto; padding: 12px 20px 16px; background: var(--surface-2); } 

/* 아코디언 — 카드형 (섹션 타이틀 + 흰 카드) */
.kp-acc-group { margin-bottom: 10px; } 

.kp-acc-group:last-child { margin-bottom: 0; } 

.kp-acc-card { background: var(--surface); border-radius: 12px; padding: 2px 15px; box-shadow: 0 2px 14px rgba(32, 94, 214, 0.06); } 

.kp-acc-card .kp-acc { border-bottom: none; } 

.kp-acc__head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border: none; background: transparent; color: var(--ink); font-size: 15px; font-weight: 700; letter-spacing: -0.02em; transition: color 0.14s ease; } 

.kp-acc__head:hover { color: var(--brand); } 

.kp-acc__head:hover .kp-acc__badge { background: rgba(32, 94, 214, 0.14); } 

.kp-acc__label { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; text-align: left; font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: -0.02em; } 

.kp-acc__head:hover .kp-acc__label { color: inherit; } 

.kp-acc__meta { display: flex; flex-shrink: 0; align-items: center; gap: 8px; } 

.kp-acc__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 24px; padding: 0 10px; border-radius: 999px; background: rgba(32, 94, 214, 0.1); color: var(--brand); font-size: var(--kp-font-min); font-weight: 600; letter-spacing: -0.01em; } 

.kp-acc__chev { display: flex; align-items: center; color: #b8c0cc; transition: transform 0.22s ease, color 0.14s ease; } 

.kp-acc__head:hover .kp-acc__chev { color: #9aa3b0; } 

.kp-acc__chev.is-open { transform: rotate(180deg); } 

.kp-acc__list { overflow: hidden; max-height: 0; margin: 0; padding: 0; transition: max-height 0.26s ease; } 

.kp-acc__inner { overflow: hidden; min-height: 0; display: flex; flex-direction: column; gap: 2px; padding: 0; } 

.kp-acc__list.is-open .kp-acc__inner { padding: 0 0 10px; } 

.kp-qitem { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; padding: 11px 11px; margin: 0; border-radius: 8px; border: none; background: transparent; color: var(--ink-2); font-size: 14px; font-weight: 500; line-height: 1.45; transition: background 0.14s ease, color 0.14s ease; } 

.kp-qitem:hover { background: var(--brand-50); color: var(--ink); } 

.kp-qitem__text { flex: 1; min-width: 0; display: block; } 

.kp-qitem__arrow { display: flex; flex-shrink: 0; color: #c5ccd6; transition: color 0.14s ease; } 

.kp-qitem:hover .kp-qitem__arrow { color: var(--brand); } 

.kp-panel__foot { margin: 0; padding: 11px 15px; border-top: 1px solid var(--line); font-size: var(--kp-font-min); color: var(--muted); text-align: center; background: var(--surface-2); line-height: 1.5; } 

.kp-panel__body::-webkit-scrollbar { width: 8px; } 

.kp-panel__body::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 99px; } 

.kp-panel__body::-webkit-scrollbar-track { background: transparent; } 

/* ---------- 반응형 ---------- */
@media (max-width: 1280px){
 .kp-guide-slide__viewport { --guide-visible: 3; } 
 }

@media (max-width: 880px){
 .kp-header { padding: 0 14px; } 
 .kp-logo,
 .kp-logo-text { height: 26px; line-height: 26px; font-size: 14px; } 
 .kp-main--panel { margin-right: 0; } 
 .kp-panel { width: min(86vw, var(--panel-w)); box-shadow: -8px 0 40px rgba(22, 40, 72, .18); } 
 .kp-body.is-panel-open .kp-panel-toggle { right: min(86vw, var(--panel-w)); } 
 .kp-empty { padding: 32px 20px; } 
 .kp-empty__inner { max-width: min(100%, 760px); } 
 .kp-empty__inner > .kp-guide-slide { max-width: 100%; } 
 .kp-empty__inner > .kp-shortcuts,
 .kp-empty__inner > .kp-empty__composer { max-width: min(100%, 640px); } 
 .kp-empty__title { font-size: clamp(1.5rem, 5.5vw, 1.875rem); margin-bottom: 16px; } 
 .kp-empty__sub { font-size: 15px; margin-bottom: 24px; } 
 .kp-guide-slide { margin-bottom: 28px; } 
 .kp-guide-slide__frame { gap: 8px; } 
 .kp-guide-slide__nav { width: 38px; height: 38px; } 
 .kp-guide-slide__viewport { --guide-visible: 2; } 
 .kp-guide-panel { min-height: 280px; padding: 16px 14px 14px; } 
 .kp-guide-panel__btn { padding: 10px 10px; } 
 .kp-empty__badge { margin-bottom: 20px; } 
 .kp-empty__badge img { height: 36px; } 
 .kp-empty__composer { margin-bottom: 36px; } 
 .kp-composer--big { --kp-composer-big-input-min: 64px; padding: 12px 16px 12px 20px; border-radius: 22px; } 
 .kp-composer--big .kp-composer__input { font-size: 15px; } 
 .kp-composer__chips { padding-left: 26px; } 
 .kp-shortcuts--row { margin-bottom: 28px; gap: 8px; grid-template-columns: 1fr 1fr; } 
 .kp-shortcuts--row .kp-shortcut:nth-child(3) { grid-column: 1 / -1; } 
 .kp-shortcuts--row .kp-shortcut { min-height: 48px; padding: 10px 9px; } 
 .kp-shortcut__text { padding-top: 1px; } 
 .kp-scroll { padding: 20px 14px 8px; } 
 .kp-dock { padding: 12px 14px 16px; } 
 .kp-main--chat .kp-scroll { padding: 24px 16px 12px; } 
 .kp-thread--answer { gap: 16px; } 
 .kp-chat-query__pill { padding: 10px 14px; } 
 .kp-answer { gap: 10px; } 
 .kp-answer-card { padding: 22px 16px 0; border-radius: 18px; } 
 .kp-answer-card__spark { width: 40px; height: 40px; border-radius: 11px; } 
 .kp-answer-card__spark::after { width: 20px; height: 20px; } 
 .kp-answer-card__lead { font-size: 14px; } 
 .kp-answer-row { flex-wrap: wrap; padding: 10px 12px; } 
 .kp-answer-row__go { margin-left: auto; } 
 .kp-answer-card__foot { flex-wrap: wrap; gap: 10px; } 
 .kp-svg--vote { width: 14px; height: 14px; } 
 .kp-answer-card__vote { width: 26px; height: 26px; } 
 .kp-refund-table { min-width: 480px; } 
 .kp-main--chat .kp-dock { padding: 10px 14px 16px; } 
 .kp-back-home { top: 14px; left: 14px; width: 40px; height: 40px; } 
 .kp-header__title-text { display: none; } 
 .kp-header__btn-label { display: none; } 
 }

@media (max-width: 640px){
 .kp-guide-slide__viewport { --guide-visible: 1; } 
 }

/* 뷰포트 높이가 낮을 때도 첫 화면 스크롤 방지 */
@media (max-height: 760px){
 .kp-empty { padding: 28px 24px; } 
 .kp-empty__title { font-size: 1.625rem; margin-bottom: 12px; } 
 .kp-empty__sub { margin-bottom: 20px; font-size: 15px; } 
 .kp-guide-slide { margin-bottom: 24px; } 
 .kp-guide-slide__viewport { --guide-visible: 1; } 
 .kp-guide-panel { min-height: 260px; padding: 14px 12px 12px; } 
 .kp-empty__badge { margin-bottom: 16px; } 
 .kp-empty__badge img { height: 32px; } 
 .kp-empty__composer { margin-bottom: 28px; } 
 .kp-composer--big { --kp-composer-big-input-min: 56px; } 
 .kp-shortcuts--row { margin-bottom: 24px; grid-template-columns: 1fr; } 
 }

@media (prefers-reduced-motion: reduce) { body.kp-ai *,
 body.kp-ai *::before,
 body.kp-ai *::after { animation-duration: 0.001s !important; transition-duration: 0.05s !important; } 
 .kp-aurora::before,
 .kp-aurora__wrap,
 .kp-aurora__orb { animation: none !important; opacity: 0.45 !important; transform: none !important; } 
 .kp-composer--big:focus-within::after { animation: none !important; background-position: 50% 50%; } 
 }


/* [KPTA 추가 2026-10-01] 회원 카드: [현황 조회하기] [로그아웃] 가로 배치 */
.kp-guide-panel__cta-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }

/* [KPTA 추가 2026-10-01] 첫 화면(.kp-empty) 내용이 화면보다 길면 세로 스크롤 (모바일 스크롤 안 되는 문제)
   - 기존: overflow:hidden + align-items:center → 넘친 위/아래가 잘리고 스크롤 불가
   - 변경: 넘칠 때만 스크롤, 짧으면 .kp-empty__inner margin:auto 로 기존처럼 가운데 정렬 */
.kp-empty { overflow-x: hidden; overflow-y: auto; align-items: flex-start; -webkit-overflow-scrolling: touch; }
.kp-empty__inner { margin: auto; }

/* [KPTA 추가 2026-10-01] 교육현황 표: 좁은 화면에서 글자가 세로로 쪼개지지 않게 최소 너비 + 가로 스크롤 (회원 현황 표와 같은 방식)
   - 기존: .kp-answer-card__table-wrap--fit overflow-x:visible + 표 min-width:0 → 화면만큼 줄어들며 칸이 좁아져 제목이 세로로 줄바꿈
   - 변경: 표 최소 560px, 넘치면 가로 스크롤 / 제목·짧은 칸 줄바꿈 금지 (교육명 칸만 줄바꿈 허용) */
.kp-answer-card__table-wrap--fit { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kp-edu-status-table { min-width: 560px; }
.kp-edu-status-table th,
.kp-edu-status-table td:not(:nth-child(4)) { white-space: nowrap; }

/* [KPTA 추가 2026-10-06] 모바일: 오른쪽 위 [빠른검색] 버튼(.kp-panel-toggle, 폭 44px)이 대화(오른쪽 정렬 질문 말풍선)를 가리지 않도록 대화 영역 오른쪽 여백 확보
   - 기존 모바일 .kp-main--chat .kp-scroll 오른쪽 여백 16px → 버튼 폭 44px + 간격 8px = 52px */
@media (max-width: 880px) {
  .kp-main--chat .kp-scroll { padding-right: 52px; }
}

/* [KPTA 추가 2026-10-06] 첫 화면 로딩 중(.kp-body.kp-init)에는 패널·빠른검색 버튼·본문 이동 애니메이션 끔
   - 모바일에서 새로고침 시 패널이 "슈루룩" 닫히는 효과 방지. kp-init 은 ai-consult.jsp 인라인 스크립트가 추가, ai-consult.js init() 이 제거 */
.kp-body.kp-init .kp-panel,
.kp-body.kp-init .kp-panel-toggle,
.kp-body.kp-init .kp-main { transition: none !important; }
