@font-face {
  font-family: "Pretendard";
  src: url("fonts/PretendardVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 45 920;
  font-display: swap;
}
:root { --font-main: "Pretendard"; }
html, body, body *, body *::before, body *::after {
  font-family: "Pretendard" !important;
}
body { font-size:16px; }
.breadcrumb,
.profile-chip,
.step-dot,
.byte-chip,
.top-button,
    .next-button,
.rail-item,
.lnb-balance span,
.lnb-balance small,
.lnb-title,
.ai-tag,
.template-card p,
.template-card-meta,
.template-scope,
.variable-title,
.variable-title span,
.variable-chip code,
.variable-chip span,
.composer-channel-badge,
.overview-label,
.overview-main small,
.recipient-stats dt,
.sender-number-status,
.sender-number-button,
.ai-lite-button,
.message-editor-panel .ai-tag,
.message-check-icon,
.check-summary-status,
.check-cost-pill,
.check-more,
.check-detail-item,
.check-detail-item strong,
.check-detail-item span,
.editor-toolbar,
.tool-button,
.right-card p,
.phone-status,
.phone-header-name,
.bubble,
.sms-brand,
.sms-link,
.message-meta,
.phone-date,
.send-step { font-size:14px; }
.floating-entry p { font-size:16px; line-height:1.8; }
.floating-chat #floating-input { font-size:16px; }
.floating-identity strong { font-size:16px; }
.floating-artifact strong { font-size:16px; }
.floating-artifact small, .floating-disclaimer { color:#65776b; }
.floating-head { flex-wrap:wrap; }
.floating-chat.is-expanded .floating-log { max-height:calc(78dvh - 260px); }
body.floating-split .floating-log { max-height:none; }
.floating-prompts { gap:8px; }
.floating-prompts button { padding:8px 10px; }
/* 펼친 대화창도 ✦ · 입력 · 전송 버튼을 한 줄로(줄바꿈하면 전송 버튼이 아랫줄로 떨어짐) */
.floating-chat.is-expanded .floating-form { flex-wrap:nowrap; }
.floating-chat.is-expanded #floating-new { margin-left:auto; }
.floating-controls button { min-height:32px; }
.floating-result-heading { flex-wrap:wrap; }
.floating-result-heading small { display:none; }
.interests-section h2, .automation-section h2, .automation-status h2 { font-size:18px; }
.cloud-card h3, .target-summary h2 { font-size:17px; }
.word-cloud button { min-height:30px; }
.cloud-card header { padding-top:18px; }
.targeting-layout { grid-template-columns:minmax(0,1fr) 310px; }
.match-options { gap:12px; }
.match-options label { line-height:1.5; }
.target-summary .target-name { font-size:16px; padding:12px; }
.target-summary .save-target { font-size:16px; }
.target-summary .clear-target, .target-demo, .target-number > span,
.selected-heading span, .tree-detail, .save-status { color:#64796c; }
.tree-tile strong { font-size:16px; }
.tree-tile span { font-size:14px; }
.tree-navigation { flex-wrap:wrap; }
.tree-navigation button { min-height:34px; }
.subtle-badge { white-space:normal; }
.category-details .interests-table td, .category-details .interests-table th { font-size:14px; }
.automation-section-head p, .automation-empty p { font-size:15px; }
.automation-list li { font-size:16px; }
@media(max-width:1100px) {
  .targeting-layout { grid-template-columns: minmax(0,1fr); }
  .target-summary { position:static; }
  .cloud-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .floating-chat.is-expanded .floating-head { align-items:center; }
  .floating-identity { flex:1; }
  .floating-controls { flex-wrap:wrap; }
  .floating-head .floating-identity small { display:none; }
  body.floating-split .floating-head { height:auto; min-height:96px; }
  body.floating-split.floating-show-result .floating-result-heading { top:230px; }
  body.floating-split.floating-show-result .workspace-pages { top:280px; }
  .floating-chat:not(.is-expanded) .floating-form { gap:8px; }
  .floating-chat:not(.is-expanded) #floating-new { display:none; }
  .floating-identity strong { font-size:16px; }
  .floating-controls button { font-size:14px; }
  .floating-entry p { font-size:16px; }
  .floating-disclaimer { line-height:1.5; }
  .floating-chat.is-expanded .floating-log { max-height:calc(85dvh - 340px); }
  body.floating-split .floating-log { max-height:none; }
}
@media(max-width:540px) {
 .cloud-grid { grid-template-columns:1fr; }
 .metric-grid { grid-template-columns:1fr; }
 .metric > span { font-size:16px; }
 .metric strong { font-size:28px; }
 .tree-tile strong { font-size:14px; }
 .product-treemap { height:420px; }
 .tree-tile span { font-size:14px; }
 .tree-navigation > div { flex-wrap:wrap; }
}
/* 공통 타겟 카드 옆에 두 차트를 연속 배치합니다. */
.unified-targeting { grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.target-charts { display:grid; gap:20px; min-width:0; }
.unified-targeting .target-summary { position:sticky; top:18px; }
.unified-targeting .word-cloud { max-width:none; min-height:300px; padding:22px 18px; gap:12px 14px; }
.unified-targeting .cloud-grid { gap:16px; }
.unified-targeting .product-treemap { height:400px; }
.target-source-switch { display:flex; gap:4px; margin-top:18px; padding:4px; background:#f1f5f2; border-radius:9px; }
.target-source-switch button { flex:1; padding:9px 6px; border:1px solid transparent; border-radius:7px; background:transparent; color:#6a8072; font-size:14px; font-weight:650; cursor:pointer; }
.target-source-switch button[aria-pressed="true"] { background:#fff; border-color:#dce8df; color:#0d6b38; box-shadow:0 1px 3px #163d2410; }
.unified-targeting [hidden] { display:none!important; }
@media(min-width:1700px) { .unified-targeting .word-cloud { min-height:330px; } .unified-targeting .product-treemap { height:440px; } }
@media(max-width:1100px) { .unified-targeting { grid-template-columns:minmax(0,1fr); } .unified-targeting .target-summary { position:static; } }
/* 데스크톱: 고객 타겟 카드 높이를 왼쪽 차트 영역에 맞춥니다. */
@media(min-width:1101px) {
  .unified-targeting { align-items:stretch; }
  .unified-targeting .target-charts { grid-template-rows:auto 1fr; }
  .unified-targeting .target-summary { position:static; display:flex; flex-direction:column; }
  .unified-targeting .target-save { margin-top:auto; }
}
@media(max-width:540px) { .unified-targeting .word-cloud { min-height:270px; gap:8px; padding:18px 12px; } .unified-targeting .product-treemap { height:420px; } }
/* 관심도에 비례한 크기와 무지개색으로 공간을 채웁니다. */
.unified-targeting .cloud-card { container-type:inline-size; }
.unified-targeting .word-cloud { min-height:310px; padding:16px 12px; gap:6px 10px; align-content:center; }
.unified-targeting .word-cloud button { line-height:1.12; letter-spacing:-1px; padding:3px 4px; min-height:30px; white-space:nowrap; }
.unified-targeting .word-cloud button:hover { background:color-mix(in srgb,var(--word-color) 8%,white); }
.unified-targeting .word-cloud button[aria-pressed="true"] { color:var(--word-color)!important; border-color:var(--word-color); background:color-mix(in srgb,var(--word-color) 10%,white); }
@media(min-width:1700px) { .unified-targeting .word-cloud { min-height:340px; } }
@media(max-width:540px) { .unified-targeting .word-cloud { min-height:270px; padding:14px 8px; gap:6px; } .unified-targeting .word-cloud button { letter-spacing:-.7px; } }
/* 플로팅 대화창의 읽기 위계: 최소 16, 본문 18, 제목 20 */
.floating-chat, .floating-chat *, .floating-result-heading, .floating-result-heading * {
  font-family:"Pretendard" !important;
}
.floating-chat .floating-identity strong { font-size:20px; font-weight:800; line-height:1.35; }
.floating-chat .floating-identity small { font-size:16px; color:#62776a; line-height:1.5; }
.floating-chat .floating-demo { font-size:16px; color:#5d7264; padding:4px 7px; }
.floating-chat .floating-controls button { font-size:16px; font-weight:700; color:#3e624c; padding:9px 11px; }
.floating-chat #floating-minimize { font-size:22px; padding:6px 10px; }
.floating-chat .floating-controls { gap:8px; }
.floating-chat .floating-controls button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; box-sizing:border-box; padding:0 12px; }
.floating-chat #floating-minimize { width:40px; padding:0; }
.floating-chat .floating-author { font-size:17px; font-weight:800; color:#294e38; margin-bottom:12px; }
.floating-chat .floating-author .floating-agent-logo { width:auto; height:19px; }
.floating-chat .floating-author .floating-agent-word { display:inline-flex; align-items:center; height:21px; font-size:19px; font-weight:850; line-height:1; }
.floating-chat .floating-author .floating-agent-tier { position:relative; top:1px; display:inline-flex; align-items:center; justify-content:center; width:auto; height:22px; min-height:22px; padding:2px 6px; font-size:12px; line-height:1; }   /* ‘라이트’ 배지를 로고 글자 기준선에 맞춰 1px 아래로 */
.floating-chat .floating-entry p { font-size:18px; line-height:1.75; font-weight:500; color:#283c30; letter-spacing:0; }
.floating-chat .floating-entry.user p { font-weight:650; padding:14px 18px; }
.floating-chat .floating-artifact strong { font-size:16px; font-weight:750; line-height:1.35; }
.floating-chat .floating-artifact > span:last-child { font-size:16px; font-weight:700; }
/* 추천 요청 칩은 대화 영역을 덜 차지하도록 작게 2줄 안에 배치합니다. */
.floating-chat .floating-prompts { gap:6px; margin-top:8px; padding:10px 14px; }
.floating-chat .floating-prompts-title { margin-bottom:0; font-size:13px; }
.floating-chat .floating-prompts button { font-size:13px; font-weight:650; color:#456450; padding:4px 8px; border-radius:7px; line-height:1.4; }
.floating-chat #floating-input { font-size:18px; font-weight:700; line-height:28px; min-height:34px; }
.floating-chat #floating-input::placeholder { color:#6c7e72; font-weight:700; opacity:1; }
.floating-chat #floating-new, .floating-chat #floating-resume { font-size:16px; font-weight:700; color:#50705b; }
.floating-chat .floating-disclaimer { font-size:16px; line-height:1.5; color:#667a6d; padding:0 18px 14px; }
.floating-chat .floating-mobile-tabs button { font-size:16px; font-weight:700; }
.floating-result-heading strong { font-size:17px; font-weight:800; }
.floating-result-heading button { font-size:16px; font-weight:700; color:#4b6d57; }
.floating-chat .floating-head { min-height:54px; padding:10px 18px; gap:12px; }
.floating-chat .floating-log { padding:24px 24px 8px; }
.floating-chat.is-expanded .floating-log { max-height:calc(85dvh - 330px); }
body.floating-split .floating-head { min-height:54px; height:54px; }
body.floating-split .floating-chat.is-expanded .floating-log { max-height:none; }
body.floating-split .floating-result-heading { top:calc(var(--floating-top) + 55px); }
body.floating-split .workspace-pages { top:calc(var(--floating-top) + 105px); }
@media(max-width:800px) {
 .floating-chat .floating-head { padding:12px; }
 .floating-chat .floating-identity strong { font-size:18px; }
 .floating-chat .floating-controls button { font-size:16px; padding:8px; }
 .floating-chat .floating-head .floating-identity { flex-basis:100%; }
 .floating-chat .floating-controls { width:100%; justify-content:flex-end; }
 body.floating-split .floating-head { height:54px; min-height:54px; }
 body.floating-split.floating-show-result .floating-result-heading { top:188px; }
 body.floating-split.floating-show-result .workspace-pages { top:238px; }
 .floating-chat .floating-log { padding:18px 16px 8px; }
 .floating-chat.is-expanded .floating-log { max-height:calc(88dvh - 380px); }
 body.floating-split .floating-log { max-height:none; }
 .floating-chat .floating-prompts { padding:6px 12px 0; }
 .floating-chat .floating-prompts button { padding:8px; }
 .floating-chat .floating-disclaimer { padding:0 12px 12px; }
 .floating-chat:not(.is-expanded) #floating-input { font-size:16px; }
}
/* 무지개 상품 분류와 상세 집계 툴팁 */
.unified-targeting .tree-tile { color:#fff; text-shadow:0 1px 2px #25332c30; }
/* 타일 크기에 비례해 글자를 키웁니다(작은 타일 16px ~ 큰 타일 34px). */
.unified-targeting .tree-tile { container-type:size; }
.unified-targeting .tree-tile strong { font-size:clamp(19px,15cqmin,34px); font-weight:800; }
.unified-targeting .tree-tile span { font-size:clamp(16px,12cqmin,28px); font-weight:650; }
.unified-targeting .tree-tile:nth-child(3) { color:#493700; text-shadow:none; }
.unified-targeting .tree-tile[aria-pressed="true"] { box-shadow:inset 0 0 0 3px #263846; }
.treemap-tooltip { position:fixed; z-index:100; width:272px; max-width:calc(100vw - 24px); padding:18px; border:1px solid #e2e8ed; border-radius:8px; background:#fffffff5; box-shadow:0 12px 32px #20304024,0 2px 6px #20304012; backdrop-filter:blur(8px); color:#253447; }
.treemap-tooltip[hidden] { display:none!important; }
.treemap-tooltip h3 { margin:0 0 16px; font-size:24px; line-height:1.3; font-weight:850; text-align:center; }
.treemap-tooltip dl { margin:0; display:grid; gap:12px; }
.treemap-tooltip dl > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.treemap-tooltip dt { font-size:16px; font-weight:750; color:#3677ed; }
.treemap-tooltip dl > div:nth-child(2) dt { color:#00986f; }
.treemap-tooltip dd { margin:0; padding:3px 7px; border-radius:5px; background:#edf2f8; font-size:18px; font-weight:800; }
.tooltip-change { display:flex; align-items:center; justify-content:space-between; margin-top:16px; padding-top:14px; border-top:1px solid #e4e9f0; gap:8px; }
.tooltip-change span { font-size:14px; color:#708094; }
.tooltip-change strong { font-size:18px; font-weight:800; }
.treemap-tooltip .up { color:#eb625e; }
.treemap-tooltip .down { color:#3e80df; }
.tooltip-sparkline { display:block; width:100%; height:76px; margin-top:8px; }
.tooltip-sparkline polygon { fill:currentColor; opacity:.08; }
.tooltip-sparkline polyline { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.tooltip-demo { display:block; font-size:14px; color:#798996; text-align:right; }
@media(max-width:540px) { .unified-targeting .tree-tile strong { font-size:16px; } .unified-targeting .tree-tile span { font-size:14px; } }
/* 은하형 키워드 배치와 최초 진입 강조 */
.unified-targeting .cloud-card { position:relative; isolation:isolate; }
.unified-targeting .word-cloud { position:relative; min-height:315px; padding:12px 12px; background:radial-gradient(ellipse at center,#fff 0 5%,#e7ddff42 18%,#cae1ff2e 38%,transparent 69%); }
.unified-targeting .word-cloud.galaxy-ready { display:block; }
.unified-targeting .word-cloud.galaxy-ready button { position:absolute; margin:0; }
.unified-targeting .word-cloud button { transition:transform .22s cubic-bezier(.2,.7,.2,1),filter .22s,background-color .22s; transform:rotate(var(--word-rotation,0deg)) scale(1); transform-origin:center; z-index:1; }
.unified-targeting .word-cloud button:hover,
.unified-targeting .word-cloud button:focus-visible { transform:rotate(var(--word-rotation,0deg)) scale(1.13); z-index:5; filter:drop-shadow(0 3px 5px #24342a15); }
.unified-targeting .cloud-card::after { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 10%,#e8b4ff44 35%,#a8cfff55 50%,#9ee8cd55 65%,transparent 90%); background-size:250% 100%; opacity:0; }
.unified-targeting .external-cloud::after { background-image:linear-gradient(115deg,transparent 10%,#9fdacf55 35%,#a5c8ff55 50%,#f4c4de55 65%,transparent 90%); }
.unified-targeting .cloud-card.cloud-revealed::after { animation:cloud-gradient-flow 8s ease-in-out infinite alternate; }
.unified-targeting .external-cloud.cloud-revealed::after { animation-delay:.25s; }
.unified-targeting .cloud-card.cloud-revealed header { animation:cloud-title-intro 1.4s ease-out both; }
@keyframes cloud-gradient-flow { 0%{background-position:100% 0;opacity:.45} 50%{opacity:.85} 100%{background-position:0 0;opacity:.55} }
@keyframes cloud-title-intro { from{opacity:.45;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }
@media(max-width:540px) { .unified-targeting .word-cloud { min-height:420px; } }
@media(prefers-reduced-motion:reduce) { .unified-targeting .word-cloud button { transition:none; } .unified-targeting .cloud-card.cloud-revealed::after,.unified-targeting .cloud-card.cloud-revealed header { animation:none; } }
.unified-targeting .word-cloud.galaxy-ready button { width:max-content; max-width:calc(100% - 28px); }
/* 고객 타겟: 메시지 작성 카드와 동일한 표면·제목·요약 톤 */
.unified-targeting .target-summary {
  padding:20px 18px;
  border:1px solid #e7e9ee;
  border-radius:12px;
  background:#f8f9fb;
  box-shadow:none;
}
.unified-targeting .target-summary-head { align-items:center; gap:12px; margin-bottom:18px; }
.unified-targeting .target-summary h2 { font-size:24px; line-height:1.25; font-weight:900; color:#222225; letter-spacing:0; }
.unified-targeting .target-summary .clear-target { border:1px solid #dddfe4; border-radius:8px; padding:5px 8px; background:white; color:#52565c; font-size:14px; font-weight:700; }
.unified-targeting .target-source-switch { margin:0 0 16px; padding:4px; border:1px solid #e7e9ee; border-radius:6px; background:#f8f9fb; }
.unified-targeting .target-source-switch button { color:#77777d; font-weight:800; }
.unified-targeting .target-source-switch button[aria-pressed="true"] { background:#eef4ff; color:#2454eb; border-color:#cbd8ff; box-shadow:none; }
.unified-targeting .target-number { margin:0; gap:10px; padding:16px; border:1px solid #e0e7f5; border-radius:8px; background:#eef4ff; }
.unified-targeting .target-number > span { color:#2454eb; font-size:14px; font-weight:800; }
.unified-targeting .target-number strong { color:#2454eb; font-size:32px; line-height:1.2; font-weight:900; letter-spacing:-.5px; }
.unified-targeting .target-meter { margin:10px 0 22px; height:4px; background:#edf0f4; }
.unified-targeting .target-meter span { background:#198f48; }
.unified-targeting .match-options { border:1px solid #ececef; border-radius:6px; padding:12px; margin:0 0 18px; gap:10px; }
.unified-targeting .match-options legend { padding:0 5px; margin:0; color:#30333a; font-size:14px; font-weight:850; }
.unified-targeting .match-options label { color:#52565c; font-weight:600; }
.unified-targeting .selected-heading { margin-bottom:12px; color:#30333a; font-size:14px; }
.unified-targeting .selected-heading strong { font-weight:850; }
.unified-targeting .selected-heading > span { color:#77777d; }
.unified-targeting .condition-chip { display:inline-flex; align-items:center; min-height:32px; border:1px solid #e1e5e9; border-radius:6px; background:#fff; color:#30333a; padding:5px 10px; font-size:14px; font-weight:750; }
.unified-targeting .condition-chip:hover { border-color:#b9d9c5; background:#f4faf6; }
.unified-targeting .condition-chip.is-internal { border-color:#b9dec7; background:#eaf7ee; color:#17633d; }
.unified-targeting .condition-chip.is-external { border-color:#c5d9ee; background:#eef5fc; color:#315f8f; }
.unified-targeting .condition-chip.is-category { border-color:#e5d6bd; background:#faf4e9; color:#765b2c; }
.unified-targeting .selected-conditions { gap:8px; padding-bottom:16px; }
.unified-targeting .target-save { padding-top:18px; border-top:1px solid #ececef; }
.unified-targeting .target-save label { margin-bottom:10px; color:#30333a; font-size:14px; font-weight:850; }
.unified-targeting .target-name { border:1px solid #dddfe4; border-radius:6px; color:#222225; font-size:16px; background:#fff; }
.unified-targeting .target-name::placeholder { color:#8c9098; }
.unified-targeting .target-save .save-target { min-height:44px; margin-top:12px; border:1px solid #10743c; border-radius:6px; background:#10743c; color:#fff; font-size:16px; font-weight:750; }
.unified-targeting .target-save .save-target:hover:not(:disabled) { background:#095d2e; border-color:#095d2e; }
.unified-targeting .target-save .save-target:disabled { background:#f5f6f8; border-color:#e7e9ee; color:#9a9da4; }
/* 늘어난 13개 상품 분류의 라벨 공간 확보 */
.unified-targeting .product-treemap { height:460px; }
.unified-targeting .tree-tile strong { overflow-wrap:anywhere; }
@media(max-width:800px) { .unified-targeting .product-treemap { height:560px; } }
@media(max-width:540px) { .unified-targeting .product-treemap { height:720px; } .unified-targeting .tree-tile { padding:6px 4px; gap:4px; } }
/* 펼친 대화창 입력 글꼴은 원을 눌러 처음 열린 입력창과 같게: 18px / 700(입력·안내 문구 모두 굵게) / 28px (작은 화면 16px) */
.floating-chat.is-expanded #floating-input,
body.floating-split .floating-chat #floating-input {
  font-size:18px;
  font-weight:700;
  line-height:28px;
  min-height:34px;
}
.floating-chat.is-expanded #floating-input::placeholder,
body.floating-split .floating-chat #floating-input::placeholder { color:#6c7e72; font-weight:700; opacity:1; }
@media(max-width:800px) {
  .floating-chat.is-expanded #floating-input,
  body.floating-split .floating-chat #floating-input { font-size:16px; }
}
/* 기본 크기와 강조 크기의 차이를 넓힌 태그 애니메이션 */
.unified-targeting .word-cloud button {
  transform:rotate(var(--word-rotation,0deg)) scale(.92);
  transition:transform .36s cubic-bezier(.22,.9,.3,1.22),filter .3s,background-color .3s;
  will-change:transform;
}
.unified-targeting .word-cloud button:hover,
.unified-targeting .word-cloud button:focus-visible {
  transform:rotate(var(--word-rotation,0deg)) scale(1.3);
  z-index:8;
  filter:drop-shadow(0 5px 8px #24342a25);
}
@media(prefers-reduced-motion:reduce) {
  .unified-targeting .word-cloud button { transition:none; }
}
/* 관심사 화면: 제목 크기와 아이콘 기준선을 한 곳에서 관리합니다. */
.interests-card > .composer-head { padding:24px 0; }
.interests-card > .composer-head .composer-title {
  margin:0; font-size:28px; line-height:36px; font-weight:800;
  letter-spacing:-.5px; color:#222225;
}
.interests-card #holdings-title,
.interests-card .explore-topline h2 {
  margin:0; font-size:20px; line-height:28px; font-weight:750;
  letter-spacing:-.3px; color:#222225;
}
.interests-card .explore-topline { margin-top:12px; margin-bottom:0; min-height:32px; }
.interests-card .interests-section-head { align-items:center; gap:10px; min-height:32px; }
.interests-card .interests-section-head > div { display:flex; align-items:center; min-width:0; }
.interests-card .interests-icon,
.interests-card .step-number {
  box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  flex:0 0 32px; width:32px; height:32px; padding:0;
  border:1px solid #d8e9df; border-radius:8px; background:#edf7f1;
  font-size:14px; line-height:1; font-weight:750;
}
.interests-card .interests-icon svg { display:block; width:18px; height:18px; }
.interests-card #cloud-title,
.interests-card #treemap-title,
.interests-card .target-summary #target-title {
  margin:0; font-size:18px; line-height:26px; font-weight:750;
  letter-spacing:-.2px; color:#222225;
}
.interests-card .cloud-card h3 {
  margin:0; font-size:16px; line-height:24px; font-weight:700;
  letter-spacing:0; color:#30333a;
}
@media(max-width:540px) {
  .interests-card > .composer-head { padding:20px 0; }
  .interests-card > .composer-head .composer-title { font-size:26px; line-height:34px; }
  .interests-card .interests-section-head { column-gap:10px; row-gap:8px; }
  .interests-card .interests-section-head .subtle-badge { margin-left:42px; }
}
/* 관심사 키워드 툴팁: 작고 촘촘한 미니멀 카드, 숫자만 강조 */
.treemap-tooltip.word-tooltip { width:auto; min-width:150px; padding:8px 10px; border-radius:8px; box-shadow:0 6px 18px #20304020; }
.treemap-tooltip { overflow:visible; }
.treemap-tooltip::after { content:""; position:absolute; left:var(--arrow-x,50%); top:100%; width:10px; height:10px; background:#fff; border:solid #e2e8ed; border-width:0 1px 1px 0; transform:translate(-50%,-5px) rotate(45deg); }
.treemap-tooltip.below::after { top:auto; bottom:100%; border-width:1px 0 0 1px; transform:translate(-50%,5px) rotate(45deg); }
.treemap-tooltip.word-tooltip h3 { margin:0 0 4px; font-size:14px; line-height:20px; font-weight:800; text-align:left; color:#1f2a37; }
.treemap-tooltip .word-stats { gap:1px; }
.treemap-tooltip .word-stats > div { gap:12px; }
.treemap-tooltip .word-stats > div:nth-child(n) dt { font-size:12px; font-weight:600; color:#7b8794; }
.treemap-tooltip .word-stats dd { padding:0; background:none; font-size:15px; line-height:20px; font-weight:850; color:#2f5fd0; font-variant-numeric:tabular-nums; }
.treemap-tooltip .word-stats dd small { margin-left:2px; font-size:11px; font-weight:600; color:#7b8794; }
.treemap-tooltip .word-stats dd.rank { color:#e0413b; }
.treemap-tooltip .word-stats > div:nth-child(4) dd { color:#00986f; }
/* 홈태그·아웃태그 제목: 배지 형태로 부각 */
.interests-card .cloud-card h3 {
  display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px;
  font-size:15px; line-height:22px; font-weight:800;
  color:#17683f; background:#e6f4ec; border:1px solid #bfe0cc; box-shadow:0 1px 3px #17683f14;
}
.interests-card .cloud-card h3::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.interests-card .external-cloud h3 { color:#2c5fc4; background:#e9f0fc; border-color:#c4d6f5; box-shadow:0 1px 3px #2c5fc414; }
.interests-card .cloud-card .source-dot { display:none; }
/* 관심사 태그 첫 등장: 하나씩 페이드인 팝업 (2초 내 완료) */
.unified-targeting .word-cloud:not(.galaxy-ready) button { opacity:0; }
.unified-targeting .word-cloud.tags-pop button { animation:tag-pop .45s cubic-bezier(.34,1.56,.64,1) var(--pop-delay,0s) both; }
@keyframes tag-pop { from { opacity:0; scale:.4; } to { opacity:1; scale:1; } }
@media(prefers-reduced-motion:reduce) { .unified-targeting .word-cloud.tags-pop button { animation:none; } }
/* 트리맵 라벨: 단어 단위 줄바꿈(1~2줄), 작은 타일은 글자를 줄입니다. */
.unified-targeting .tree-tile { gap:2px; padding:8px; }
.unified-targeting .tree-tile strong { overflow-wrap:normal; word-break:keep-all; line-height:1.25; }
.unified-targeting .tree-tile.is-compact strong { font-size:clamp(16px,13cqmin,19px); }
.unified-targeting .tree-tile.is-compact span { font-size:clamp(15px,11cqmin,17px); }
/* 세분류처럼 하위가 많아 아주 작은 타일은 글자를 더 줄이고 긴 이름도 줄바꿈합니다. */
.unified-targeting .tree-tile.is-tiny { padding:4px; }
.unified-targeting .tree-tile.is-tiny strong { font-size:13px; word-break:normal; overflow-wrap:anywhere; }
.unified-targeting .tree-tile.is-tiny span { font-size:12px; }
/* 상품 트리맵 툴팁: 작고 촘촘하게 */
.treemap-tooltip:not(.word-tooltip) { width:200px; padding:10px 12px; border-radius:8px; box-shadow:0 6px 18px #20304020; }
.treemap-tooltip:not(.word-tooltip) h3 { margin:0 0 6px; font-size:14px; line-height:20px; text-align:left; color:#1f2a37; }
.treemap-tooltip:not(.word-tooltip) dl { gap:2px; }
.treemap-tooltip:not(.word-tooltip) dl > div:nth-child(n) dt { font-size:12px; font-weight:600; color:#7b8794; }
.treemap-tooltip:not(.word-tooltip) dd { padding:0; background:none; font-size:15px; line-height:20px; font-weight:850; color:#2f5fd0; font-variant-numeric:tabular-nums; }
.treemap-tooltip:not(.word-tooltip) dl > div:nth-child(2) dd { color:#00986f; }
.treemap-tooltip:not(.word-tooltip) .tooltip-change { margin-top:6px; padding-top:6px; }
.treemap-tooltip:not(.word-tooltip) .tooltip-change span { font-size:12px; }
.treemap-tooltip:not(.word-tooltip) .tooltip-change strong { font-size:14px; }
.treemap-tooltip:not(.word-tooltip) .tooltip-sparkline { height:36px; margin-top:4px; }
/* 관심사 툴팁 항목명: 숫자 색과 맞춘 작은 배지 */
.treemap-tooltip .word-stats { gap:4px; }
.treemap-tooltip .word-stats > div:nth-child(n) dt { padding:1px 7px; border-radius:999px; font-size:11px; line-height:18px; font-weight:700; color:#2f5fd0; background:#2f5fd012; }
.treemap-tooltip .word-stats > div:nth-child(1) dt { color:#e0413b; background:#e0413b12; }
.treemap-tooltip .word-stats > div:nth-child(4) dt { color:#00986f; background:#00986f14; }
/* 분류별 표: 증가 빨강, 감소 파랑 */
.category-details .interests-table td.trend-up { color:#e0413b; font-weight:750; font-variant-numeric:tabular-nums; }
.category-details .interests-table td.trend-down { color:#2f6fdf; font-weight:750; font-variant-numeric:tabular-nums; }
.category-details .interests-table th:first-child { width:22%; }
/* 분류별 표: 영역 높이를 제한하고 표 안에서만 세로 스크롤, 헤더는 고정 */
.category-details .interests-table-wrap { max-height:300px; overflow-y:auto; overscroll-behavior:contain; }
.category-details .interests-table thead th { position:sticky; top:0; z-index:1; }
/* 표 보기 토글: 초록 CI 버튼 */
.category-details > summary { display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:8px 14px; border-radius:8px; background:#10743c; color:#fff; font-size:14px; font-weight:750; cursor:pointer; list-style:none; box-shadow:0 2px 6px #10743c33; transition:background .15s; }
.category-details > summary::-webkit-details-marker { display:none; }
.category-details > summary::before { content:"▸"; font-size:12px; transition:transform .15s; }
.category-details[open] > summary::before { transform:rotate(90deg); }
.category-details > summary:hover { background:#0c5f31; }
.category-details > summary:focus-visible { outline:2px solid #10743c; outline-offset:2px; }
/* 분할 화면 상단의 작업 화면 제목 줄은 쓰지 않고, 작업 화면을 그 자리까지 올립니다. */
.floating-result-heading { display:none!important; }
body.floating-split .workspace-pages { top:calc(var(--floating-top) + 55px); }
body.floating-split.floating-dedicated-result .floating-result-slot { padding-top:0; }
@media(max-width:800px) {
  body.floating-split.floating-show-result .workspace-pages { top:188px; }
  body.floating-split.floating-dedicated-result.floating-show-result .floating-result-slot { padding-top:0; }
}
