/* 블로그 분석(내 블로그 → 글 하나 → 알림) 화면. 토큰·버튼은 daino-home.css, 앱 틀은 daino-app.css. 모바일 우선. */

/* 머리말: 제목 + 단계 표시(단계는 화면 이동도 겸한다) */
.blog-head { display: grid; gap: 14px; margin-bottom: 18px; }
.blog-head__main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.blog-head__title { font-size: 22px; font-weight: 800; letter-spacing: -.04em; color: var(--dp-ink); }
.blog-head__desc { font-size: 14px; color: var(--dp-muted); }
.blog-stepper { display: flex; align-items: center; margin: 0; padding: 4px; list-style: none; overflow-x: auto; background: rgba(255, 255, 255, .7); border: 1px solid var(--dp-line); border-radius: 999px; scrollbar-width: none; }
.blog-stepper::-webkit-scrollbar { display: none; }
.blog-stepper li { display: flex; align-items: center; flex: none; }
.blog-stepper li + li::before { content: ""; width: 14px; height: 2px; margin: 0 2px; border-radius: 2px; background: #dfe5ee; }
.blog-stepper li.is-done + li::before { background: var(--dp-good); }
.blog-stepper a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 9px 0 5px; font-size: 13px; font-weight: 600; color: var(--dp-muted); white-space: nowrap; border-radius: 999px; transition: color .2s ease, background .2s ease; }
.blog-stepper a:hover { color: var(--dp-ink); background: rgba(15, 23, 42, .04); }
.blog-stepper__num { display: grid; place-items: center; width: 24px; height: 24px; flex: none; font-size: 12px; font-weight: 800; color: var(--dp-muted); background: #e9edf4; border-radius: 50%; transition: background .2s ease, color .2s ease; }
.blog-stepper__num svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.blog-stepper li.is-current a { font-weight: 800; color: var(--dp-ink); background: #fff; box-shadow: var(--dp-shadow-1); }
.blog-stepper li.is-current .blog-stepper__num { color: #fff; background: var(--dp-blue); }
.blog-stepper li.is-done a { color: var(--dp-ink-2); }
.blog-stepper li.is-done .blog-stepper__num { color: #0b7a3c; background: #d9f6e5; }
@media (min-width: 900px) {
  .blog-head { grid-template-columns: minmax(0, 1fr) auto; align-items: center; margin-bottom: 22px; }
  .blog-head__title { font-size: 26px; }
  .blog-stepper a { min-height: 38px; padding: 0 16px 0 7px; font-size: 14px; }
  .blog-stepper li + li::before { width: 22px; margin: 0 4px; }
}

/* 카드 */
.blog-card { padding: 22px; background: var(--dp-surface); border-radius: var(--dp-radius-card); box-shadow: var(--dp-shadow-1); }
.blog-card + .blog-card, .blog-result, .blog-progress, .blog-empty { margin-top: 14px; }
.blog-result { display: grid; gap: 14px; }
.blog-result .blog-card { margin-top: 0; }
.blog-card__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; }
.blog-card__title { font-size: 18px; font-weight: 800; letter-spacing: -.03em; color: var(--dp-ink); }
.blog-card__desc { margin-top: 4px; font-size: 13.5px; line-height: 1.55; color: var(--dp-ink-2); }
.blog-card__label { font-size: 13px; font-weight: 700; color: var(--dp-muted); }
.blog-quota, .blog-saved { flex: none; padding: 6px 12px; font-size: 13px; font-weight: 600; color: var(--dp-ink-2); background: var(--dp-surface-2); border: 1px solid var(--dp-line); border-radius: 999px; }

/* 입력 */
.blog-form { display: grid; gap: 10px; }
.blog-form__input { width: 100%; min-height: 52px; padding: 0 16px; font: inherit; font-size: 16px; color: var(--dp-ink); background: var(--dp-surface-2); border: 1px solid rgba(15, 23, 42, .12); border-radius: 14px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.blog-form__input:focus { outline: 0; background: #fff; border-color: rgba(18, 107, 255, .55); box-shadow: 0 0 0 4px rgba(18, 107, 255, .12); }
.blog-form__input::placeholder { color: #a7b0c0; }
.blog-form__btn { min-height: 52px; padding: 0 26px; font: inherit; font-size: 16px; font-weight: 700; color: #fff; background: var(--dp-ink); border: 0; border-radius: 14px; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 6px 16px rgba(11, 18, 32, .2); transition: transform .2s ease, background .2s ease; }
.blog-form__btn:hover:not(:disabled) { transform: translateY(-1px); background: #16213a; }
.blog-form__btn:active:not(:disabled) { transform: scale(.98); }
.blog-form__btn:disabled { color: #8a94a6; background: #e3e8f0; box-shadow: none; cursor: not-allowed; }
.blog-form__meta { margin-top: 10px; font-size: 13.5px; line-height: 1.5; color: var(--dp-ink-2); }
.blog-form__meta.is-error { color: var(--dp-bad); }
.blog-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.blog-saved-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 10px 0 12px; font: inherit; font-size: 13px; font-weight: 700; color: var(--dp-ink); background: #fff; border: 1px solid rgba(15, 23, 42, .12); border-radius: 999px; cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.blog-saved-btn b { color: var(--dp-blue); font-variant-numeric: tabular-nums; }
.blog-saved-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s ease; }
.blog-saved-btn:hover { border-color: rgba(18, 107, 255, .45); color: var(--dp-blue); }
.blog-saved-btn[aria-expanded="true"] { color: var(--dp-blue); background: var(--dp-blue-soft); border-color: transparent; }
.blog-saved-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.blog-saved-panel { margin-bottom: 14px; padding: 12px; background: var(--dp-surface-2); border: 1px solid var(--dp-line); border-radius: 16px; animation: blogPanelIn .25s ease both; }
@keyframes blogPanelIn { from { opacity: 0; transform: translateY(-6px); } }
.blog-saved-panel__head { display: grid; gap: 8px; margin-bottom: 8px; padding: 0 4px; }
.blog-saved-panel__head p { font-size: 12.5px; color: var(--dp-muted); }
.blog-saved-panel__search { width: 100%; min-height: 40px; padding: 0 12px; font: inherit; font-size: 14px; color: var(--dp-ink); background: #fff; border: 1px solid rgba(15, 23, 42, .12); border-radius: 12px; -webkit-appearance: none; appearance: none; transition: border-color .2s ease, box-shadow .2s ease; }
.blog-saved-panel__search:focus { outline: 0; border-color: rgba(18, 107, 255, .55); box-shadow: 0 0 0 4px rgba(18, 107, 255, .12); }
.blog-saved-panel__search::placeholder { color: #a7b0c0; }
.blog-saved-list { display: grid; gap: 2px; max-height: 264px; margin: 0; padding: 0; overflow-y: auto; list-style: none; overscroll-behavior: contain; }
.blog-saved-row { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 6px 10px; font: inherit; text-align: left; color: var(--dp-ink); background: transparent; border: 0; border-radius: 12px; cursor: pointer; transition: background .15s ease; }
.blog-saved-row:hover, .blog-saved-row:focus-visible { background: #fff; outline: 0; box-shadow: var(--dp-shadow-1); }
.blog-saved-row.is-active { background: var(--dp-blue-soft); }
.blog-saved-row img { width: 32px; height: 32px; flex: none; border-radius: 10px; object-fit: cover; background: #e8edf5; }
.blog-saved-row__main { display: grid; flex: 1; min-width: 0; }
.blog-saved-row__main b { overflow: hidden; font-size: 14.5px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.blog-saved-row__main small { overflow: hidden; font-size: 12.5px; color: var(--dp-muted); white-space: nowrap; text-overflow: ellipsis; }
.blog-saved-row__date { flex: none; font-size: 12.5px; color: var(--dp-muted); font-variant-numeric: tabular-nums; }
.blog-saved-row.is-active .blog-saved-row__date::before { content: "보는 중 · "; color: var(--dp-blue); font-weight: 700; }
.blog-saved-list__empty { padding: 14px 10px; font-size: 13.5px; color: var(--dp-muted); }
@media (min-width: 640px) { .blog-form { grid-template-columns: minmax(0, 1fr) auto; } }

/* 진행 */
.blog-progress { padding: 20px 22px; background: #fff; border-radius: var(--dp-radius-card); box-shadow: var(--dp-shadow-1); }
.blog-progress__row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.blog-progress__row span { font-weight: 700; color: var(--dp-blue); font-variant-numeric: tabular-nums; }
.blog-progress__track { height: 8px; margin-top: 12px; overflow: hidden; background: #e9edf4; border-radius: 999px; }
.blog-progress__bar { width: 0; height: 100%; background: linear-gradient(90deg, var(--dp-blue), var(--dp-violet)); border-radius: 999px; transition: width .6s cubic-bezier(.2, .8, .2, 1); }
.blog-progress__hint { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 13px; color: var(--dp-muted); }
.blog-progress__elapsed { flex: none; font-variant-numeric: tabular-nums; }
.blog-progress__row b { display: inline-flex; align-items: center; gap: 10px; }
.blog-progress__bar { position: relative; min-width: 8%; overflow: hidden; }
.blog-progress__bar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .55) 50%, transparent 80%); animation: blogShine 1.3s linear infinite; }
@keyframes blogShine { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.blog-dots { display: inline-flex; gap: 4px; }
.blog-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--dp-blue); animation: blogDot 1s ease-in-out infinite; }
.blog-dots i:nth-child(2) { animation-delay: .15s; }
.blog-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes blogDot { 0%, 100% { transform: translateY(0); opacity: .35; } 40% { transform: translateY(-5px); opacity: 1; } }

/* 오류 알림 */
.blog-error { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-top: 14px; padding: 16px 18px; background: #fff5f5; border: 1px solid #f7caca; border-radius: 18px; animation: blogErrorIn .35s cubic-bezier(.2, .9, .3, 1.2) both; }
@keyframes blogErrorIn { from { opacity: 0; transform: translateY(8px); } }
.blog-error__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; color: #b3261e; background: #fde1e1; border-radius: 14px; }
.blog-error__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.blog-error__main { flex: 1 1 220px; min-width: 0; }
.blog-error__main b { font-size: 15px; font-weight: 800; color: #8f1d17; }
.blog-error__main p { margin-top: 2px; font-size: 14px; line-height: 1.55; color: var(--dp-ink-2); }
.blog-error__retry { min-height: 40px; padding: 0 16px; font: inherit; font-size: 14px; font-weight: 700; color: #fff; background: var(--dp-ink); border: 0; border-radius: 999px; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.blog-error__retry:hover { transform: translateY(-1px); background: #16213a; }
.page-blog-post .blog-check .blog-error { margin: 16px 0 0; }
.page-blog-post .aeo-report__error { margin: 0; padding: 16px 18px !important; font-size: 14px; line-height: 1.55; color: #8f1d17 !important; background: #fff5f5 !important; border: 1px solid #f7caca !important; border-radius: 18px !important; }
.page-blog-post .aeo-report__error::before { content: "AI 인용 준비도를 확인하지 못했어요"; display: block; margin-bottom: 2px; font-weight: 800; }
.page-blog-post .aeo-report__error[data-title]::before { content: attr(data-title); }
/* 사용자 쪽 사유(글 삭제·비공개, 주소 오류, 횟수 소진 등)는 오류가 아니라 안내로 보여 준다 */
.blog-error[data-kind="user"] { background: #fff8ea; border-color: #f5dfae; }
.blog-error[data-kind="user"] .blog-error__icon { color: #8a5300; background: #ffe9bd; }
.blog-error[data-kind="user"] .blog-error__main b { color: #6b4100; }
.page-blog-post .aeo-report__error[data-kind="user"] { color: #6b4100 !important; background: #fff8ea !important; border-color: #f5dfae !important; }

/* 로딩 창: 경과 시간 + 숨 쉬는 링 */
.blog-load-elapsed { min-height: 18px; margin-top: 10px; font-size: 12.5px; font-weight: 600; color: var(--dp-muted); font-variant-numeric: tabular-nums; }
.page-blog-post .dp-load-overlay:not([hidden]) .dp-load-ring { animation: blogRingPulse 1.8s ease-in-out infinite; }
@keyframes blogRingPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }


/* 블로그 정보 */
.blog-profile { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; }
.blog-profile__img { width: 56px; height: 56px; border-radius: 18px; object-fit: cover; background: #e8edf5; }
.blog-profile__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.blog-profile__name b { font-size: 18px; font-weight: 800; letter-spacing: -.03em; }
.blog-profile__name span { font-size: 13px; color: var(--dp-muted); }
.blog-profile__desc { margin-top: 2px; overflow: hidden; font-size: 13.5px; color: var(--dp-ink-2); white-space: nowrap; text-overflow: ellipsis; }
.blog-profile__kpis { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.blog-profile__kpis div { padding: 10px 12px; background: var(--dp-surface-2); border: 1px solid var(--dp-line); border-radius: 14px; }
.blog-profile__kpis dt { font-size: 12px; color: var(--dp-muted); }
.blog-profile__kpis dd { margin: 2px 0 0; font-size: 16px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
@media (min-width: 900px) {
  .blog-profile { grid-template-columns: auto minmax(0, 1fr) auto; }
  .blog-profile__kpis { grid-column: auto; grid-template-columns: repeat(4, minmax(92px, auto)); }
}

/* 노출 요약 */
.blog-exposure { display: grid; gap: 14px; background: linear-gradient(160deg, #ffffff 0%, #f3f7ff 100%); }
.blog-exposure__num { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
.blog-exposure__num b { font-size: 44px; font-weight: 850; line-height: 1; letter-spacing: -.05em; color: var(--dp-blue); font-variant-numeric: tabular-nums; }
.blog-exposure__num span { font-size: 16px; font-weight: 700; color: var(--dp-ink-2); }
.blog-exposure__num i { font-style: normal; }
.blog-exposure__bar { height: 10px; margin-top: 14px; overflow: hidden; background: #e1e8f3; border-radius: 999px; }
.blog-exposure__bar span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--dp-good), #35c77a); border-radius: 999px; transition: width 1s cubic-bezier(.2, .8, .2, 1); }
.blog-exposure__text { font-size: 15px; line-height: 1.65; color: var(--dp-ink-2); }
.blog-exposure__text b { color: var(--dp-ink); }
@media (min-width: 768px) { .blog-exposure { grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 28px; align-items: center; } }

/* 글 목록 */
.blog-posts { margin: 0; padding: 0; list-style: none; }
.blog-posts li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; align-items: center; padding: 14px 0; border-top: 1px solid var(--dp-line); }
.blog-posts li:first-child { border-top: 0; padding-top: 0; }
.blog-posts li:last-child { padding-bottom: 0; }
.blog-badge { display: inline-grid; place-items: center; min-width: 68px; padding: 5px 10px; font-size: 12.5px; font-weight: 800; border-radius: 999px; }
.blog-badge--on { color: #0b7a3c; background: #d9f6e5; }
.blog-badge--off { color: #b3261e; background: #fdecec; }
.blog-badge--unknown { color: var(--dp-muted); background: #eef1f6; }
.blog-posts__main { min-width: 0; }
.blog-posts__title { display: block; overflow: hidden; font-size: 15px; font-weight: 700; color: var(--dp-ink); white-space: nowrap; text-overflow: ellipsis; }
.blog-posts__title:hover { color: var(--dp-blue); }
.blog-posts__meta { display: block; margin-top: 2px; overflow: hidden; font-size: 12.5px; color: var(--dp-muted); white-space: nowrap; text-overflow: ellipsis; }
.blog-posts__go { grid-column: 2; justify-self: start; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 14px; font-size: 13.5px; font-weight: 700; color: var(--dp-blue); background: var(--dp-blue-soft); border-radius: 999px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.blog-posts__go:hover { color: #fff; background: var(--dp-blue); transform: translateX(2px); }
.blog-posts__empty { padding: 12px 0; font-size: 14px; color: var(--dp-muted); }
@media (min-width: 640px) {
  .blog-posts li { grid-template-columns: auto minmax(0, 1fr) auto; }
  .blog-posts__go { grid-column: auto; justify-self: end; }
}

/* 글 주소로 바로 가기 */
.blog-empty { display: grid; gap: 12px; justify-items: start; background: var(--dp-surface-2); box-shadow: none; border: 1px dashed #cdd5e1; }
.blog-empty p { font-size: 14px; line-height: 1.6; color: var(--dp-ink-2); }
.blog-empty b { display: block; color: var(--dp-ink); }

/* ── 글 하나 화면(기존 분석 스크립트 결과 위에 덮는 부분) ── */
.page-blog-post .analysis-v2-shell { display: grid !important; gap: 16px; }
.page-blog-post .blog-check .dv-task-card__title { display: flex; align-items: center; gap: 10px; }
.blog-check__num { display: grid; place-items: center; width: 28px; height: 28px; flex: none; font-size: 13px; font-weight: 800; color: var(--dp-blue); background: var(--dp-blue-soft); border-radius: 10px; }
.blog-check__desc { margin-top: 6px; font-size: 13.5px; line-height: 1.55; color: var(--dp-ink-2); }
.page-blog-post .dv-analysis-action { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.page-blog-post .dv-analysis-action .analysis-v2-run-meta { margin: 0 !important; flex: 1 1 auto; min-width: 0; font-size: 13.5px; }
.page-blog-post .post-analysis-mode-row { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 8px 0 10px; }
.page-blog-post .post-analysis-radio { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; font-size: 14.5px; font-weight: 600; color: var(--dp-ink) !important; cursor: pointer; }
.page-blog-post .post-analysis-radio input { width: 18px; height: 18px; accent-color: var(--dp-blue); }
.page-blog-post .post-analysis-ai-note { font-size: 13.5px; color: var(--dp-ink-2) !important; }
.page-blog-post #post-analysis-track-bridge { display: none !important; }
.page-blog-post .post-analysis-url-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; max-width: none !important; }
.page-blog-post .dv-post-source__panel[data-dv-source-panel="url"] .post-analysis-url-row { grid-template-columns: minmax(0, 1fr); }
/* 글은 '내 블로그'에서 고르므로, 이 화면의 '블로그에서 고르기'와 선택 표시는 숨긴다(기존 스크립트용 마크업은 유지). */
html body.page-blog-post .dv-post-source__tabs,
html body.page-blog-post .dv-post-source__panel[data-dv-source-panel="blog"],
html body.page-blog-post .dv-shared-target__selection { display: none !important; }
html body.page-blog-post .dv-post-source__panel[data-dv-source-panel="url"] { display: block !important; }
.blog-target-hint { margin-top: 10px; font-size: 13.5px; line-height: 1.55; color: var(--dp-ink-2); }
.blog-target-hint a { font-weight: 700; color: var(--dp-blue); white-space: nowrap; }
.blog-target-hint a:hover { text-decoration: underline; }
.page-blog-post .post-analysis-keyword-block { max-width: none !important; padding: 0 !important; border: 0 !important; }
.page-blog-post .post-analysis-ai-note { margin: 0; padding: 12px 14px !important; background: var(--dp-surface-2) !important; border: 1px solid var(--dp-line) !important; border-radius: 14px !important; }
.page-blog-post .dv-analysis-action { padding-top: 16px !important; border: 0 !important; border-top: 1px solid var(--dp-line) !important; }
.page-blog-post .dv-shared-target__selection { margin-top: 12px; background: var(--dp-blue-soft) !important; border: 0 !important; border-radius: 14px !important; }

/* 키워드 순위 결과 */
.page-blog-post .analysis-v2-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.page-blog-post .analysis-v2-head h2 { font-size: 18px !important; font-weight: 800 !important; }
.page-blog-post .analysis-v2-meta { font-size: 13px; color: var(--dp-muted) !important; }
/* 결과 요약: 분석한 글 + 노출 비율 */
.kw-summary { display: grid; gap: 0; margin-bottom: 16px; overflow: hidden; background: linear-gradient(160deg, #ffffff 0%, #f3f7ff 100%); border: 1px solid var(--dp-line); border-radius: 20px; box-shadow: var(--dp-shadow-2); }
.kw-summary__post, .kw-summary__stat { display: grid; align-content: start; gap: 6px; padding: 20px 22px; min-width: 0; }
.kw-summary__stat { border-top: 1px solid var(--dp-line); background: rgba(255, 255, 255, .6); }
.kw-summary__label { font-size: 12.5px; font-weight: 700; color: var(--dp-muted); }
.page-blog-post .kw-summary__title { display: -webkit-box; overflow: hidden; font-size: 18px; font-weight: 800; line-height: 1.4; letter-spacing: -.03em; color: var(--dp-ink) !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: keep-all; }
.page-blog-post .kw-summary__link { justify-self: start; display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; font-size: 13.5px; font-weight: 700; color: var(--dp-blue) !important; border: 0 !important; background: none !important; padding: 0 !important; }
.kw-summary__link svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.kw-summary__link:hover svg { transform: translate(2px, -2px); }
.kw-summary__num { display: flex; align-items: baseline; gap: 8px; }
.kw-summary__num b { font-size: 40px; font-weight: 850; line-height: 1; letter-spacing: -.05em; color: var(--dp-good); font-variant-numeric: tabular-nums; }
.kw-summary.is-none .kw-summary__num b { color: var(--dp-muted); }
.kw-summary__num span { font-size: 16px; font-weight: 700; color: var(--dp-ink-2); }
.kw-summary__num i { font-style: normal; }
.kw-summary__bar { height: 8px; margin-top: 6px; overflow: hidden; background: #e1e8f3; border-radius: 999px; }
.kw-summary__bar span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--dp-good), #35c77a); border-radius: 999px; transition: width 1s cubic-bezier(.2, .8, .2, 1); }
@media (min-width: 720px) {
  .kw-summary { grid-template-columns: minmax(0, 1fr) 260px; }
  .kw-summary__stat { border-top: 0; border-left: 1px solid var(--dp-line); }
}
.page-blog-post .analysis-v2-table { width: 100%; font-size: 14px; color: var(--dp-ink) !important; background: transparent !important; }
.page-blog-post .analysis-v2-table td { color: var(--dp-ink) !important; }
@media (max-width: 767px) {
  /* 기존 모바일 카드형 표: 색만 새 테마로 */
  .page-blog-post .analysis-v2-table-wrap { background: transparent !important; border: 0 !important; }
  .page-blog-post .analysis-v2-table tr { display: block; margin-bottom: 10px; padding: 12px 14px !important; background: var(--dp-surface-2) !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; box-shadow: none !important; }
  .page-blog-post .analysis-v2-table td { border-color: var(--dp-line) !important; background: transparent !important; }
  .page-blog-post .analysis-v2-table td::before { color: var(--dp-muted) !important; }
}
@media (min-width: 768px) {
  .page-blog-post .analysis-v2-table-wrap { overflow-x: auto; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; background: #fff !important; }
  .page-blog-post .analysis-v2-table { min-width: 640px; border-collapse: collapse; }
  .page-blog-post .analysis-v2-table th { padding: 12px 10px; font-size: 12.5px; font-weight: 700; color: var(--dp-muted) !important; text-align: center; white-space: nowrap; background: var(--dp-surface-2) !important; border: 0 !important; border-bottom: 1px solid var(--dp-line) !important; }
  .page-blog-post .analysis-v2-table td { padding: 13px 10px; text-align: center; background: transparent !important; border: 0 !important; border-top: 1px solid var(--dp-line) !important; }
  .page-blog-post .analysis-v2-table tr:first-child td { border-top: 0 !important; }
  .page-blog-post .analysis-v2-table .text-left { text-align: left; }
}
.page-blog-post .post-analysis-note { font-size: 13px; color: var(--dp-ink-2) !important; }
.page-blog-post .post-analysis-badge { display: inline-block; justify-self: start; width: auto; padding: 4px 10px; font-size: 12.5px; font-weight: 800; border: 0 !important; border-radius: 999px; }
.page-blog-post .post-analysis-badge.is-on { color: #0b7a3c !important; background: #d9f6e5 !important; }
.page-blog-post .post-analysis-badge.is-off { color: var(--dp-muted) !important; background: #eef1f6 !important; }
.page-blog-post .post-analysis-extra { margin-top: 16px; padding: 16px !important; background: var(--dp-surface-2) !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; }
.page-blog-post .post-analysis-extra h3 { font-size: 15px !important; font-weight: 800 !important; }
.page-blog-post .post-analysis-extra ul { margin: 8px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.7; color: var(--dp-ink-2) !important; }

/* 알림 등록 */
.blog-track { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 16px; padding: 18px; background: linear-gradient(135deg, #eef4ff, #f4efff); border-radius: 18px; }
.blog-track b { font-size: 16px; font-weight: 800; letter-spacing: -.02em; color: var(--dp-ink); }
.blog-track p { margin-top: 2px; font-size: 13.5px; line-height: 1.55; color: var(--dp-ink-2); }
.blog-track.is-done { background: #e3f6eb; }
.blog-track.is-error p { color: var(--dp-bad); }
.blog-track a { font-weight: 700; color: var(--dp-blue); text-decoration: underline; }

/* 최근 본 결과 패널 */
.page-blog-post .aeo-recent-dock { position: relative; }
.page-blog-post .aeo-recent-panel { margin-bottom: 14px; padding: 14px !important; color: var(--dp-ink) !important; background: var(--dp-surface-2) !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; box-shadow: none !important; }
.page-blog-post .aeo-recent-panel__title { font-weight: 800; color: var(--dp-ink) !important; }
.page-blog-post .aeo-recent-panel__hint { font-size: 12.5px; color: var(--dp-muted) !important; }

@media (prefers-reduced-motion: reduce) {
  .blog-progress__bar, .blog-exposure__bar span, .blog-posts__go, .blog-saved-row, .blog-saved-btn svg, .blog-form__btn, .blog-stepper a, .blog-stepper__num { transition: none; }
  .blog-progress__bar::after, .blog-dots i, .blog-error, .page-blog-post .dp-load-overlay:not([hidden]) .dp-load-ring { animation: none; }
  .blog-saved-panel { animation: none; }
}

/* ── AI 인용 준비도 결과(기존 스크립트가 그리는 보고서)를 밝은 테마로 ── */
html body.page-blog-post .aeo-report { display: grid; gap: 16px; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-report__body { display: grid; gap: 16px; }
html body.page-blog-post .aeo-sheet::before, html body.page-blog-post .aeo-check[open]::before { display: none !important; }
html body.page-blog-post .aeo-sheet__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding-bottom: 14px !important; margin-bottom: 16px !important; border-bottom: 1px solid var(--dp-line) !important; }
html body.page-blog-post .aeo-section-index { display: grid; place-items: center; width: 28px; height: 28px; font-size: 12px; font-weight: 800; letter-spacing: 0; color: var(--dp-blue) !important; background: var(--dp-blue-soft) !important; border: 0 !important; border-radius: 10px; }
html body.page-blog-post .aeo-sheet__eyebrow { display: none !important; }
html body.page-blog-post .aeo-sheet__titles { flex: 1; min-width: 0; }
html body.page-blog-post .aeo-sheet__title { font-size: 18px !important; font-weight: 800 !important; letter-spacing: -.03em; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-sheet__lede { margin-top: 2px; font-size: 13.5px; color: var(--dp-ink-2) !important; }
html body.page-blog-post .aeo-sheet__pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; font-size: 13px; font-weight: 800; color: var(--dp-ink-2) !important; background: #eef1f6 !important; border: 0 !important; border-radius: 999px; }
html body.page-blog-post .aeo-sheet__pill::before { position: static !important; flex: none; width: 7px; height: 7px; margin: 0 !important; border-radius: 50%; }
html body.page-blog-post .aeo-sheet__pill.is-high { color: #0b7a3c !important; background: #d9f6e5 !important; }
html body.page-blog-post .aeo-sheet__pill.is-medium { color: #8a5300 !important; background: #fff1d6 !important; }
html body.page-blog-post .aeo-sheet__pill.is-low, html body.page-blog-post .aeo-sheet__pill.is-error { color: #b3261e !important; background: #fdecec !important; }

/* 요약: 도넛 + 기준 */
html body.page-blog-post .aeo-donut { background: linear-gradient(160deg, #ffffff, #f3f7ff) !important; border: 1px solid var(--dp-line) !important; border-radius: 20px !important; box-shadow: var(--dp-shadow-1) !important; }
html body.page-blog-post .aeo-donut__center { background: #fff !important; box-shadow: none !important; }
html body.page-blog-post .aeo-donut__num strong { color: var(--dp-ink) !important; text-shadow: none !important; }
html body.page-blog-post .aeo-donut__num span, html body.page-blog-post .aeo-donut__center em { color: var(--dp-ink-2) !important; }
html body.page-blog-post .aeo-crit { background: #fff !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; box-shadow: none !important; }
html body.page-blog-post .aeo-crit__name { font-weight: 700; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-crit__track { background: #e9edf4 !important; }
html body.page-blog-post .aeo-summary-copy { background: var(--dp-surface-2) !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; }
html body.page-blog-post .aeo-summary-copy__label { font-weight: 800; color: var(--dp-muted) !important; }
html body.page-blog-post .aeo-sheet__story { font-size: 15px; line-height: 1.65; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-hl, html body.page-blog-post .aeo-hl--quote { color: var(--dp-blue-deep) !important; background: none !important; font-weight: 700; }
html body.page-blog-post .aeo-sheet__cta { background: var(--dp-blue-soft) !important; border: 0 !important; border-radius: 16px !important; }
html body.page-blog-post .aeo-sheet__cta::after { display: none !important; }
html body.page-blog-post .aeo-sheet__cta-prefix { font-weight: 800; color: var(--dp-blue) !important; }
html body.page-blog-post .aeo-sheet__cta p, html body.page-blog-post .aeo-sheet__cta-text { font-size: 15px; font-weight: 600; line-height: 1.6; color: var(--dp-ink) !important; }

/* 기준별 점수: 레이더 + 목록 */
html body.page-blog-post .aeo-radar-panel { background: var(--dp-surface-2) !important; border: 1px solid var(--dp-line) !important; border-radius: 20px !important; box-shadow: none !important; }
html body.page-blog-post .aeo-radar__grid, html body.page-blog-post .aeo-radar__axis { stroke: rgba(15, 23, 42, .12) !important; }
html body.page-blog-post .aeo-radar__area { fill: rgba(18, 107, 255, .14) !important; stroke: var(--dp-blue) !important; }
html body.page-blog-post .aeo-radar__label { fill: var(--dp-ink) !important; stroke: #f8fafd !important; stroke-width: 4px !important; paint-order: stroke fill; font-weight: 700; }
html body.page-blog-post .aeo-axis-item { background: #fff !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; box-shadow: none !important; }
html body.page-blog-post .aeo-axis-item__num { background: #eef1f6 !important; }
html body.page-blog-post .aeo-axis-item__name { font-weight: 800; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-axis-item__desc { font-size: 14px; line-height: 1.6; color: var(--dp-ink-2) !important; }
html body.page-blog-post .aeo-axis-item__bar { background: #e9edf4 !important; }
html body.page-blog-post .aeo-axis-item__verdict.is-good { color: #0b7a3c !important; background: #d9f6e5 !important; border-color: transparent !important; }
html body.page-blog-post .aeo-axis-item__verdict.is-fair { color: #8a5300 !important; background: #fff1d6 !important; border-color: transparent !important; }
html body.page-blog-post .aeo-axis-item__verdict.is-poor { color: #b3261e !important; background: #fdecec !important; border-color: transparent !important; }
html body.page-blog-post .aeo-radar-legend__name { color: var(--dp-ink-2) !important; }

/* 잘한 점 / 고칠 점 */
html body.page-blog-post .aeo-compare { background: transparent !important; border: 0 !important; gap: 14px; }
html body.page-blog-post .aeo-compare__col { padding: 16px; background: var(--dp-surface-2); border: 1px solid var(--dp-line); border-radius: 16px; }
html body.page-blog-post .aeo-compare__title { font-size: 15px; font-weight: 800; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-compare__title.is-good { color: #0b7a3c !important; }
html body.page-blog-post .aeo-compare__title.is-fix { color: #b3261e !important; }
html body.page-blog-post .aeo-compare__item { background: transparent !important; border-color: var(--dp-line) !important; }
html body.page-blog-post .aeo-compare__num { color: var(--dp-ink-2) !important; background: #e9edf4 !important; }
html body.page-blog-post .aeo-compare__text { font-size: 14.5px; line-height: 1.6; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-compare__empty { color: var(--dp-muted) !important; background: transparent !important; }

/* 문장별 개선안 */
html body.page-blog-post .aeo-check, html body.page-blog-post .aeo-check[open] { color: var(--dp-ink) !important; background: #fff !important; border: 1px solid var(--dp-line) !important; border-radius: 16px !important; box-shadow: none !important; }
html body.page-blog-post .aeo-check[open] { box-shadow: var(--dp-shadow-1) !important; }
html body.page-blog-post .aeo-check__summary { color: var(--dp-ink) !important; background: transparent !important; }
html body.page-blog-post .aeo-check__index { background: #eef1f6 !important; }
html body.page-blog-post .aeo-check__label { font-weight: 800; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-check__chev { color: var(--dp-muted) !important; }
html body.page-blog-post .aeo-check.is-good .aeo-check__badge { color: #0b7a3c !important; background: #d9f6e5 !important; border-color: transparent !important; }
html body.page-blog-post .aeo-check.is-fair .aeo-check__badge { color: #8a5300 !important; background: #fff1d6 !important; border-color: transparent !important; }
html body.page-blog-post .aeo-check.is-poor .aeo-check__badge { color: #b3261e !important; background: #fdecec !important; border-color: transparent !important; }
html body.page-blog-post .aeo-check__split, html body.page-blog-post .aeo-check__col { background: transparent !important; border-color: var(--dp-line) !important; }
html body.page-blog-post .aeo-check__block { border-color: var(--dp-line) !important; }
html body.page-blog-post .aeo-check__k { font-weight: 800; color: var(--dp-muted) !important; }
html body.page-blog-post .aeo-check__v { font-size: 14.5px; line-height: 1.65; color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-check__v--fix { font-weight: 600; color: var(--dp-blue-deep) !important; }
html body.page-blog-post .aeo-revise__arrow { color: var(--dp-muted) !important; }
html body.page-blog-post .aeo-revise__empty { color: var(--dp-muted) !important; }
html body.page-blog-post .aeo-quote, html body.page-blog-post .aeo-evidence-blog { border: 1px solid var(--dp-line) !important; box-shadow: none !important; }
html body.page-blog-post .aeo-flag { color: #8a5300 !important; background: #fff1d6 !important; border: 0 !important; }
html body.page-blog-post .aeo-flag.is-high { color: #b3261e !important; background: #fdecec !important; }

/* AI 인용 결과: 모바일에서 표가 잘리지 않게 카드로 쌓고, 긴 인용은 접어서 보여 준다 */
.aeo-quote-stack { display: none; }
.aeo-quote__p + .aeo-quote__p { margin-top: .6em; }
.aeo-quote__body.is-clamped { position: relative; max-height: 260px; overflow: hidden; }
.aeo-quote__body.is-clamped:not(.is-open)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 64px; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); pointer-events: none; }
.aeo-quote__body.is-clamped.is-open { max-height: none; overflow: visible; }
.aeo-quote__more { display: block; width: 100%; margin-top: 8px; padding: 9px 12px; border: 0; border-radius: 10px; background: #eef2fb; color: #126bff; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
@media (max-width: 640px) {
  html body.page-blog-post .aeo-quote-table-wrap { display: none; }
  html body.page-blog-post .aeo-quote-stack { display: grid; gap: 8px; margin-top: 4px; }
  html body.page-blog-post .aeo-quote-stack__row { display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px; background: #f5f7fb; font-size: 14px; line-height: 1.6; color: #1f2937; }
  html body.page-blog-post .aeo-quote-stack__row b { font-size: 13px; font-weight: 800; color: #334155; }
  html body.page-blog-post .aeo-quote-stack__row span { display: block; font-weight: 600; word-break: keep-all; overflow-wrap: anywhere; }
  html body.page-blog-post .aeo-quote-stack__row em { display: block; font-style: normal; font-size: 12px; font-weight: 800; color: #6b7686; }
  html body.page-blog-post .aeo-quote .aeo-quote__p { font-size: 15px; line-height: 1.75; }
}

/* 최근 본 결과 목록: 예전 다크 테마의 연한 글씨 색을 라이트 테마로 */
html body.page-blog-post .aeo-recent-panel__head { border-bottom: 1px solid var(--dp-line) !important; }
html body.page-blog-post .aeo-recent-panel__title { color: var(--dp-ink) !important; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-chip { background: #fff !important; border: 1px solid var(--dp-line) !important; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-chip:hover { border-color: rgba(18, 107, 255, .4) !important; background: #f7faff !important; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-chip.is-muted { border-style: dashed !important; opacity: 1; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-name { color: var(--dp-ink) !important; font-size: 15px !important; font-weight: 700 !important; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-meta { color: var(--dp-muted) !important; font-size: 13px !important; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-pill { color: #fff !important; background: var(--dp-blue) !important; border: 0 !important; font-size: 13px !important; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-recent-pill.is-weak { color: var(--dp-ink-2) !important; background: #eef1f6 !important; }
html body.page-blog-post .aeo-recent-panel .analysis-v2-myblogs-empty { color: var(--dp-muted) !important; }
html body.page-blog-post .aeo-recent-panel .recent-row__del { align-self: center; height: 36px; color: #6b7686; }

/* 게시글 분석: 두 분석을 한 번에 — AI 인용 카드·로딩 창은 숨기고, 진행은 결과 위의 작은 표시로 */
body.post-combined #aeo-card, body.post-combined #aeo-citation-loading { display: none !important; }
.combined-status { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 14px 16px; border-radius: 14px; background: #eef4ff; color: #0a4fd1; font-size: 14px; font-weight: 700; }
.combined-status[hidden] { display: none; }
.combined-status__dot { width: 12px; height: 12px; flex: none; border-radius: 50%; background: #126bff; animation: combined-pulse 1.1s ease-in-out infinite; }
@keyframes combined-pulse { 0%, 100% { transform: scale(.7); opacity: .5; } 50% { transform: scale(1.1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .combined-status__dot { animation: none; } }
.recent-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: #eef1f6; color: #9aa4b5; font-size: 11px; font-style: normal; font-weight: 700; }
.recent-tag.is-on { background: #e6f8ef; color: #0a7a4f; }
