/* 채널 분석 v2 카드와 콘솔 로딩 화면 (release 23 'analysis-v2', 2026-11-01). Phone first (320 / 390), then wider screens. */
.ca2{border:1px solid var(--cc-line,#d5d8de);border-radius:12px;background:#fff;padding:20px 16px 18px;margin:0 0 16px;min-width:0;color:var(--cc-ink,#18191b)}
.ca2[hidden]{display:none}
.ca2-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.ca2-title{font-size:19px;line-height:1.3;margin:0;letter-spacing:-.01em}
.ca2-summary{font-size:16px;line-height:1.7;margin:0 0 14px;word-break:keep-all;overflow-wrap:break-word}
.ca2-summary strong{font-weight:700;color:var(--cc-accent,#3456eb)}
.ca2-tags,.ca2-artists,.ca2-fan{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}
.ca2-tag-label{font-size:12px;color:var(--cc-muted,#555b66);margin-right:2px}
.ca2-chip{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border:1px solid var(--cc-line,#d5d8de);border-radius:999px;font-size:13px;line-height:1.3;background:#fff;word-break:keep-all}
.ca2-chip-l1,.ca2-chip-own{background:var(--cc-ink,#18191b);border-color:var(--cc-ink,#18191b);color:#fff}
.ca2-chip-review{background:#fff4d6;border-color:#ecd28a;color:#6b4a00;font-weight:600}
.ca2-chip-wait{color:var(--cc-muted,#555b66);background:var(--cc-paper,#f7f7f4)}
/* 팬 채널 판정 (release 26): 글 흐름 그대로(inline-block)라 이름 뒤 띄어쓰기가 남는다. 아티스트 이름은 시스템 글꼴(.ca2-artist). */
.ca2-chip-fan{display:inline-block;line-height:20px;background:#eef2fe;border-color:#c5d1fb;color:#1f3ab0;font-weight:600;max-width:100%}
.ca2-chip-fan .ca2-artist{font-size:inherit;font-weight:700;overflow-wrap:anywhere}
.ca2-sep{color:var(--cc-muted,#555b66);font-size:13px}
.ca2-artist{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;font-size:15px;font-weight:700}
.ca2-artist+.ca2-artist::before{content:"·";margin:0 6px 0 2px;color:var(--cc-muted,#555b66);font-weight:400}
.ca2-fix{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--cc-accent,#3456eb);text-decoration:underline;text-underline-offset:3px;margin:0 0 6px}
.ca2-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 16px}
.ca2-kpi{background:var(--cc-paper,#f7f7f4);border-radius:10px;padding:12px 12px 13px;min-width:0}
.ca2-kpi dt{font-size:12px;line-height:1.4;color:var(--cc-muted,#555b66);margin:0 0 4px}
.ca2-kpi dd{margin:0;display:flex;align-items:baseline;gap:3px;min-width:0}
.ca2-num{font-size:24px;line-height:1.15;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ca2-unit{font-size:13px;color:var(--cc-muted,#555b66)}
.ca2-kpi-key{grid-column:1/-1;background:var(--cc-ink,#18191b);color:#fff}
.ca2-kpi-key dt,.ca2-kpi-key .ca2-unit{color:#c9ccd3}
.ca2-kpi-key .ca2-num{font-size:30px}
.ca2-table-wrap{margin:0 0 12px;min-width:0}
.ca2-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.4;table-layout:fixed}
.ca2-table caption{text-align:left;font-size:13px;font-weight:700;padding:0 0 6px;color:var(--cc-ink,#18191b)}
.ca2-table th,.ca2-table td{padding:9px 6px;border-bottom:1px solid #eceef1;vertical-align:middle}
.ca2-table thead th{font-size:12px;font-weight:600;color:var(--cc-muted,#555b66);text-align:right;border-bottom:1px solid var(--cc-line,#d5d8de)}
.ca2-table tbody th{font-weight:500;text-align:left;color:var(--cc-muted,#555b66);font-size:13px;width:40%;white-space:nowrap}
.ca2-table thead th.ca2-corner{width:40%}
.ca2-table td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;overflow-wrap:anywhere}
.ca2-table td:nth-child(2),.ca2-table thead th:nth-child(2){background:#f4f6fb}
.ca2-table .ca2-engaged td{font-weight:500}
.ca2-table td.ca2-engaged-wait{text-align:center;color:var(--cc-muted,#555b66);font-size:13px;background:none}
.ca2-facts{font-size:13px;color:var(--cc-ink,#18191b);margin:0 0 8px}
.ca2-source{display:grid;gap:2px;font-size:12px;line-height:1.5;color:var(--cc-muted,#555b66);margin:6px 0 0;word-break:keep-all}
.ca2-message{font-size:15px;line-height:1.6;margin:0;color:var(--cc-ink,#18191b)}
.ca2-retry{min-height:44px;margin-top:6px}
.ca2-loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;min-height:720px;align-content:start}
.ca2-loading i{display:block;grid-column:1/-1;height:18px;border-radius:8px;background:linear-gradient(90deg,#edf0ed 0,#f6f7f6 45%,#edf0ed 90%);background-size:220% 100%;animation:cc-live-shimmer 1.4s ease-in-out infinite}
.ca2-loading .ca2-sk-short{width:62%}
.ca2-loading .ca2-sk-chips{width:78%;height:28px;margin:6px 0 4px}
.ca2-loading .ca2-sk-kpi{grid-column:auto;height:74px}
.ca2-loading .ca2-sk-key{grid-column:1/-1;height:84px}
.ca2-loading .ca2-sk-table{height:250px;margin-top:8px}
@media (min-width:560px){
 .ca2{padding:24px 24px 20px}
 .ca2-title{font-size:21px}
 .ca2-summary{font-size:17px}
 .ca2-kpis{grid-template-columns:1fr 1fr 1.3fr}
 .ca2-kpi-key{grid-column:auto}
 .ca2-loading{grid-template-columns:1fr 1fr 1.3fr;min-height:540px}
 .ca2-loading .ca2-sk-key{grid-column:auto}
}
@media (min-width:1024px){.ca2{padding:28px 30px 24px}.ca2-summary{max-width:46em}}

/* 카드가 준비되면 같은 숫자의 옛 등록 카드와 구역 제목은 숨긴다. */
[data-cc-panel="reports"][data-ca2-ready]>.cc-section-intro,[data-cc-panel="reports"][data-ca2-ready] .cc-public-registration{display:none!important}

/* 콘솔 로딩 화면: 21번 자리표시 위에 로고 마크·진행 문구·진행 막대. 막대는 transform만 바뀐다(CLS 0).
   꼬리말은 내용이 들어온 뒤 제자리에서 나타난다(로딩 중 자리표시 아래에서 밀려 내려가지 않게). */
.cc[data-cc-loading] .cc-footer,.cc:has([data-cw-campaign-list] .cw-skeleton) .cc-footer{visibility:hidden}
/* 캠페인 탭의 개수는 비어 있을 때도 한 자리만큼 자리를 둔다(숫자가 들어와도 탭이 밀리지 않게). */
[data-cw-count]:empty::after{content:"0";visibility:hidden}
.cc-boot{order:-1;display:flex;align-items:center;gap:10px;min-height:32px;margin:0 0 6px}
.cc-boot img{display:block;width:28px;height:28px;flex:none}
.cc-boot-text{font-size:14px;line-height:1.4;color:var(--cc-ink,#18191b);font-weight:600}
.cc-boot-bar{order:-1;display:block;height:3px;border-radius:2px;background:#e6e8eb;overflow:hidden;margin:0 0 4px}
.cc-boot-bar>span{display:block;height:100%;width:100%;background:var(--cc-ink,#18191b);transform-origin:left center;transform:scaleX(.15);transition:transform .35s ease}
.cc[data-cc-boot="session"] .cc-boot-bar>span{transform:scaleX(.55)}
.cc[data-cc-boot="data"] .cc-boot-bar>span{transform:scaleX(.85)}
@media (prefers-reduced-motion:reduce){.cc-boot-bar>span{transition:none}.ca2-loading i{animation:none}}
