/* ==========================================
   AI CITATIONS DETAIL PAGE
   Editorial Redesign — Navy + Minimal Blue Accent
   LogAgency Brand Palette 적용 (v2.0)

   Design Principles:
   - 90% Black/Navy + Gray / 5% Accent Blue / 2% Gold
   - No colorful left borders (only 1 subtle accent remains)
   - No background gradients (only CTA radial)
   - Editorial typography hierarchy
   - Generous whitespace
   ========================================== */

:root {
    /* Detail-page local scope — 브랜드 토큰 참조 */
    --aicd-ink: var(--color-text, #111827);
    --aicd-ink-2: var(--color-gray-600, #4b5563);
    --aicd-ink-3: var(--color-gray-500, #6B7280);
    --aicd-ink-4: var(--color-gray-400, #9ca3af);

    --aicd-primary: var(--color-primary, #0B1D33);
    --aicd-rule: var(--color-gray-200, #e5e7eb);
    --aicd-rule-light: var(--color-gray-100, #ECEEF1);

    --aicd-accent: var(--color-accent, #2563eb);
    --aicd-accent-hover: var(--color-accent-hover, #1d4ed8);

    --aicd-gold: var(--color-gold, #FFD700);
    --aicd-gold-muted: var(--color-gold-muted, #C9A96E);

    --aicd-bg: var(--bg-primary, #ffffff);
    --aicd-bg-muted: var(--bg-secondary, #F7F8FA);

    --aicd-col: 760px;
    --aicd-radius: var(--radius-sm, 4px);
}


/* ==========================================
   HERO
   ========================================== */
.aicd-hero {
    padding: 120px 0 0;
    background: var(--aicd-bg);
}

.aicd-hero .container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
}

.aicd-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 48px;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--aicd-ink-3);
}

.aicd-hero__breadcrumb a {
    color: var(--aicd-ink-3);
    text-decoration: none;
    transition: color 0.2s;
}

.aicd-hero__breadcrumb a:hover {
    color: var(--aicd-primary);
}

.aicd-hero__breadcrumb svg {
    width: 10px;
    height: 10px;
    opacity: 0.35;
    flex-shrink: 0;
}

/* Meta top — 배지를 텍스트 기반으로 정돈 */
.aicd-hero__meta-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    flex-wrap: wrap;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--aicd-ink-3);
}

.aicd-hero__case-num {
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.1em;
}

.aicd-hero__divider {
    color: var(--aicd-ink-4);
    font-size: 11px;
}

/* Featured — 유일한 골드 사용처. 별 아이콘만 골드, 나머지는 블랙 outline */
.aicd-hero__featured {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.08em;
}

.aicd-hero__featured svg {
    color: var(--aicd-gold);
    flex-shrink: 0;
}

.aicd-hero__engine-tag {
    font-weight: 600;
    color: var(--aicd-ink-2);
    letter-spacing: 0.06em;
}

.aicd-hero__accent-bar {
    width: 48px;
    height: 2px;
    background: var(--aicd-primary);
    margin-bottom: 32px;
}

.aicd-hero__title {
    font-size: clamp(2rem, 4.2vw, 3.2rem);
    font-weight: 800;
    color: var(--aicd-ink);
    line-height: 1.2;
    margin: 0 0 20px 0;
    letter-spacing: -0.035em;
    max-width: 900px;
}

.aicd-hero__title-highlight {
    display: inline;
    color: var(--aicd-primary);
    font-weight: 800;
}

.aicd-hero__subtitle {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: clamp(14px, 1.4vw, 16px);
    font-weight: 400;
    color: var(--aicd-ink-3);
    line-height: 1.55;
    margin: 0 0 32px 0;
    max-width: 800px;
    letter-spacing: -0.01em;
    font-style: italic;
}

.aicd-hero__excerpt {
    font-size: 1.05rem;
    color: var(--aicd-ink-2);
    line-height: 1.8;
    margin: 0 0 44px 0;
    max-width: 720px;
}

.aicd-hero__excerpt strong {
    color: var(--aicd-ink);
    font-weight: 600;
}

.aicd-hero__excerpt code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.9em;
    background: var(--aicd-bg-muted);
    padding: 2px 6px;
    border-radius: var(--aicd-radius);
    color: var(--aicd-ink);
    border: 1px solid var(--aicd-rule);
}

.aicd-hero__info-row {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 24px 0 28px;
    border-top: 1px solid var(--aicd-rule);
    flex-wrap: wrap;
}

.aicd-hero__info-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--aicd-ink-3);
}

.aicd-hero__info-item svg {
    width: 13px;
    height: 13px;
    opacity: 0.6;
}

/* Hero 하단 구분선 — 2px Navy로 무게감 */
.aicd-hero__divider-line {
    height: 2px;
    background: var(--aicd-primary);
}


/* ==========================================
   2-COLUMN CONTENT LAYOUT
   ========================================== */
.aicd-content {
    background: var(--aicd-bg-muted);
    padding: 80px 0 140px;
}

.aicd-content__layout {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: var(--aicd-col) 1fr;
    gap: 60px;
    align-items: start;
}

.aicd-article {
    min-width: 0;
}


/* ==========================================
   ANSWER BLOCK — 에디토리얼 Lead 스타일
   유일하게 남은 Accent 좌측 보더 (2px Navy)
   ========================================== */
.aicd-answer {
    margin-bottom: 100px;
    padding: 36px 40px 40px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
}

.aicd-answer__eyebrow {
    display: inline-block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.aicd-answer__title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(32px, 3.5vw, 44px);
    font-weight: 400;
    color: var(--aicd-ink);
    letter-spacing: -0.01em;
    line-height: 1;
    margin: 0 0 32px 0;
}

.aicd-answer__body + .aicd-answer__body {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--aicd-rule-light);
}

.aicd-answer__lang-label {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-ink-3);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 12px 0;
}

/* Answer Lead — 단정형 결론 첫 문장 */
.aicd-answer__lead {
    font-size: clamp(17px, 1.9vw, 20px);
    color: var(--aicd-ink);
    line-height: 1.55;
    margin: 0 0 18px 0;
    letter-spacing: -0.02em;
    font-weight: 500;
}

.aicd-answer__lead strong {
    color: var(--aicd-ink);
    font-weight: 700;
}

.aicd-answer__text {
    font-size: 15.5px;
    color: var(--aicd-ink-2);
    line-height: 1.85;
    margin: 0;
    letter-spacing: -0.005em;
}

.aicd-answer__inline-link {
    color: var(--aicd-accent);
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, 0.35);
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
    transition: text-decoration-color 0.2s, color 0.2s;
    font-weight: 500;
}

.aicd-answer__inline-link:hover {
    text-decoration-color: var(--aicd-accent);
    color: var(--aicd-accent-hover);
}

.aicd-answer__related-link {
    margin: 28px 0 0 0;
    padding-top: 22px;
    border-top: 1px solid var(--aicd-rule-light);
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
}

.aicd-answer__related-label {
    display: inline-block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-ink-3);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.aicd-answer__related-link .aicd-answer__inline-link {
    font-weight: 600;
    font-size: 13.5px;
}

.aicd-answer__text code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.88em;
    background: var(--aicd-bg-muted);
    padding: 2px 8px;
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    color: var(--aicd-ink);
    font-weight: 500;
}


/* ==========================================
   AI SNIPPET — 좌측 보더 제거, hairline만
   ========================================== */
.aicd-ai-snippet {
    margin: 0 0 100px 0;
    padding: 22px 26px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
}

/* 작은 라벨 표시 (눈에 띄지 않게) */
.aicd-ai-snippet::before {
    content: 'AI Snippet';
    position: absolute;
    top: -8px;
    left: 20px;
    padding: 2px 8px;
    background: var(--aicd-bg-muted);
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--aicd-ink-3);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
}

.aicd-ai-snippet__ko,
.aicd-ai-snippet__en {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--aicd-ink);
    font-weight: 500;
    letter-spacing: -0.005em;
}

.aicd-ai-snippet__en {
    padding-top: 12px;
    border-top: 1px solid var(--aicd-rule-light);
    color: var(--aicd-ink-2);
    font-size: 13.5px;
}


/* ==========================================
   QUOTABLE SENTENCES
   노란 배경 제거, 가이드북 스타일 들여쓰기만
   ========================================== */
.aicd-quotable {
    margin-bottom: 100px;
    padding: 0;
    background: transparent;
    border: none;
}

.aicd-quotable__eyebrow {
    display: block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.aicd-quotable__title {
    font-size: clamp(22px, 2.5vw, 28px);
    font-weight: 800;
    color: var(--aicd-ink);
    letter-spacing: -0.025em;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.aicd-quotable__note {
    font-size: 12.5px;
    color: var(--aicd-ink-3);
    line-height: 1.6;
    margin: 0 0 32px 0;
}

.aicd-quotable__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-quotable__item {
    position: relative;
    padding: 0;
    border-bottom: 1px solid var(--aicd-rule);
}

.aicd-quotable__item::before { content: none; }

.aicd-quotable__item blockquote {
    position: relative;
    margin: 0;
    padding: 20px 24px 20px 28px;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--aicd-ink-2);
    background: transparent;
    border: none;
    font-weight: 400;
    letter-spacing: -0.005em;
}

/* 들여쓰기 guide line */
.aicd-quotable__item blockquote::before {
    content: '';
    position: absolute;
    left: 0;
    top: 24px;
    bottom: 24px;
    width: 1px;
    background: var(--aicd-rule);
    transition: background 0.2s;
}

.aicd-quotable__item:hover blockquote::before {
    background: var(--aicd-primary);
}

/* Primary Quote — 살짝만 강조 (Bold + Navy 텍스트) */
.aicd-quotable__item--primary blockquote {
    font-size: 16px;
    font-weight: 600;
    color: var(--aicd-ink);
    padding: 24px 24px 24px 28px;
}

.aicd-quotable__item--primary blockquote::before {
    background: var(--aicd-primary);
    width: 2px;
}


/* ==========================================
   COPYRIGHT NOTICE — 주황 제거, 중립 톤
   ========================================== */
.aicd-copyright-notice {
    margin-top: 28px;
    padding: 18px 22px;
    background: var(--aicd-bg-muted);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.aicd-copyright-notice__icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--radius-full, 9999px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--aicd-ink-3);
    margin-top: 2px;
}

.aicd-copyright-notice__body {
    flex: 1;
    min-width: 0;
}

.aicd-copyright-notice__title {
    font-size: 13px;
    font-weight: 700;
    color: var(--aicd-ink);
    margin: 0 0 8px 0;
    letter-spacing: -0.005em;
}

.aicd-copyright-notice__text {
    font-size: 12.5px;
    color: var(--aicd-ink-2);
    line-height: 1.75;
    margin: 0 0 8px 0;
    letter-spacing: -0.005em;
}

.aicd-copyright-notice__text:last-child { margin-bottom: 0; }

.aicd-copyright-notice__text strong {
    font-weight: 700;
    color: var(--aicd-ink);
}

.aicd-copyright-notice__link {
    color: var(--aicd-accent);
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, 0.35);
    text-underline-offset: 2px;
    word-break: break-all;
    font-weight: 500;
    transition: color 0.2s;
}

.aicd-copyright-notice__link:hover {
    color: var(--aicd-accent-hover);
}


/* ==========================================
   SECTION GENERIC HEADING — 에디토리얼 통일
   ========================================== */
.aicd-section__eyebrow {
    display: block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 11px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.aicd-section__title {
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: var(--aicd-ink);
    letter-spacing: -0.025em;
    line-height: 1.25;
    margin: 0 0 14px 0;
}

.aicd-section__desc {
    font-size: 14px;
    color: var(--aicd-ink-3);
    line-height: 1.65;
    margin: 0 0 36px 0;
}


/* ==========================================
   VISUAL EVIDENCE — 섹션 간격 확대 + 구조적 상단 라인
   ========================================== */
.aicd-evidence {
    margin-bottom: 110px;
    padding-top: 60px;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-video-wrap {
    margin: 0;
    background: var(--aicd-primary);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    overflow: hidden;
}

.aicd-video {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 10;
    background: var(--aicd-primary);
    object-fit: contain;
}

.aicd-video__caption {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: var(--aicd-bg);
    border-top: 1px solid var(--aicd-rule);
    font-size: 13px;
    color: var(--aicd-ink-2);
    line-height: 1.5;
}

.aicd-video__caption-label {
    display: inline-block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}


/* ==========================================
   FULL CONTEXT — Prompt + Response
   그라디언트 제거, 솔리드 컬러만
   ========================================== */
.aicd-context {
    margin-bottom: 110px;
    padding-top: 60px;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-prompt-block {
    margin: 24px 0 36px 0;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    overflow: hidden;
}

.aicd-prompt-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 22px;
    background: var(--aicd-bg-muted);
    border-bottom: 1px solid var(--aicd-rule);
}

.aicd-prompt-block__label {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.aicd-prompt-block__lang {
    font-size: 11px;
    color: var(--aicd-ink-3);
    letter-spacing: 0.04em;
}

/* 좌측 파란 보더 제거, 폰트만으로 구분 */
.aicd-prompt-block__text {
    margin: 0;
    padding: 22px 24px;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 15px;
    line-height: 1.7;
    color: var(--aicd-ink);
    background: var(--aicd-bg);
}

/* AI Response Block */
.aicd-response-block {
    margin: 0;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    overflow: hidden;
}

/* Head — 그라디언트 제거, solid 배경 */
.aicd-response-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 22px;
    background: var(--aicd-bg-muted);
    border-bottom: 1px solid var(--aicd-rule);
    flex-wrap: wrap;
    gap: 10px;
}

.aicd-response-block__label {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.aicd-response-block__rank {
    font-size: 11px;
    color: var(--aicd-ink-2);
    font-weight: 600;
}

.aicd-response-block__body {
    padding: 28px 26px 24px;
}

.aicd-response-block__intro {
    font-size: 14px;
    color: var(--aicd-ink-2);
    line-height: 1.7;
    margin: 0 0 22px 0;
    font-style: italic;
}

.aicd-response-block__section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--aicd-ink);
    margin: 0 0 6px 0;
    letter-spacing: -0.015em;
}

.aicd-response-block__section-desc {
    font-size: 13px;
    color: var(--aicd-ink-2);
    line-height: 1.6;
    margin: 0 0 22px 0;
}

.aicd-response-block__citation-item {
    display: flex;
    gap: 16px;
    padding: 18px 0;
    border-top: 1px solid var(--aicd-rule-light);
}

/* Highlight — 좌측 보더 제거, 배경색만으로 강조 */
.aicd-response-block__citation-item--highlight {
    background: var(--aicd-bg-muted);
    padding: 16px 18px;
    margin: 4px -4px;
    border-radius: var(--aicd-radius);
}

/* Citation rank — Navy 기반 통일 */
.aicd-response-block__citation-rank {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: var(--aicd-primary);
    color: var(--aicd-bg);
    font-family: 'Bebas Neue', sans-serif;
    font-size: 20px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full, 9999px);
    line-height: 1;
    padding-top: 2px;
}

.aicd-response-block__citation-rank--competitor {
    background: var(--aicd-bg-muted);
    color: var(--aicd-ink-3);
    border: 1px solid var(--aicd-rule);
}

.aicd-response-block__citation-body {
    flex: 1;
    min-width: 0;
}

.aicd-response-block__citation-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--aicd-ink);
    margin: 0 0 4px 0;
    letter-spacing: -0.015em;
}

.aicd-response-block__citation-link {
    color: var(--aicd-accent);
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, 0.4);
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.aicd-response-block__citation-link:hover {
    color: var(--aicd-accent-hover);
}

.aicd-response-block__citation-desc {
    font-size: 13.5px;
    color: var(--aicd-ink-2);
    line-height: 1.65;
    margin: 0 0 10px 0;
}

.aicd-response-block__citation-desc--summary {
    color: var(--aicd-ink-3);
    margin-bottom: 0;
}

.aicd-response-block__citation-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--aicd-rule-light);
}

.aicd-response-block__citation-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: var(--aicd-ink-3);
    line-height: 1.5;
    letter-spacing: 0.01em;
}

.aicd-response-block__citation-meta svg {
    color: var(--aicd-ink-3);
    flex-shrink: 0;
}

.aicd-response-block__citation-meta code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.92em;
    background: var(--aicd-bg-muted);
    padding: 1px 5px;
    border-radius: var(--aicd-radius);
    color: var(--aicd-ink);
    border: 1px solid var(--aicd-rule);
}

.aicd-response-block__note {
    margin: 28px 0 0 0;
    padding: 16px 18px;
    background: var(--aicd-bg-muted);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    font-size: 12.5px;
    color: var(--aicd-ink-2);
    line-height: 1.7;
}

.aicd-response-block__note strong {
    color: var(--aicd-ink);
    font-weight: 700;
}


/* ==========================================
   RAW RESPONSE (details/summary)
   ========================================== */
.aicd-raw-response {
    margin-top: 24px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    overflow: hidden;
    transition: border-color 0.2s;
}

.aicd-raw-response[open] {
    border-color: var(--aicd-primary);
}

.aicd-raw-response__summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    cursor: pointer;
    user-select: none;
    list-style: none;
    transition: background 0.2s;
}

.aicd-raw-response__summary::-webkit-details-marker {
    display: none;
}

.aicd-raw-response__summary:hover {
    background: var(--aicd-bg-muted);
}

.aicd-raw-response__summary-label {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 3px 8px;
    border: 1px solid var(--aicd-rule);
    background: var(--aicd-bg-muted);
    border-radius: var(--aicd-radius);
    flex-shrink: 0;
}

.aicd-raw-response__summary-hint {
    font-size: 12px;
    color: var(--aicd-ink-3);
    letter-spacing: 0.01em;
    flex: 1;
}

.aicd-raw-response__chevron {
    flex-shrink: 0;
    color: var(--aicd-ink-3);
    transition: transform 0.3s, color 0.2s;
}

.aicd-raw-response[open] .aicd-raw-response__chevron {
    transform: rotate(180deg);
    color: var(--aicd-primary);
}

.aicd-raw-response__body {
    padding: 8px 22px 24px;
    border-top: 1px solid var(--aicd-rule);
    background: var(--aicd-bg);
}

.aicd-raw-response__article {
    font-size: 14px;
    color: var(--aicd-ink);
    line-height: 1.85;
    letter-spacing: -0.005em;
}

.aicd-raw-response__article p {
    margin: 0 0 12px 0;
}

.aicd-raw-response__article p:first-child {
    margin-top: 10px;
}

.aicd-raw-response__article p:last-child {
    margin-bottom: 0;
    padding-top: 14px;
    border-top: 1px solid var(--aicd-rule-light);
    color: var(--aicd-ink-2);
    font-size: 13.5px;
}

.aicd-raw-response__article strong {
    color: var(--aicd-ink);
    font-weight: 700;
}


/* ==========================================
   COMPETITOR RANKING TABLE
   ========================================== */
.aicd-ranking {
    margin-bottom: 110px;
    padding-top: 60px;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-ranking-table-wrap {
    overflow-x: auto;
    margin: 0 0 36px 0;
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
}

.aicd-ranking-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--aicd-bg);
    font-size: 14px;
}

.aicd-ranking-table th {
    background: var(--aicd-bg-muted);
    padding: 14px 16px;
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--aicd-ink-3);
    border-bottom: 1px solid var(--aicd-rule);
    white-space: nowrap;
}

.aicd-ranking-table td {
    padding: 16px;
    color: var(--aicd-ink-2);
    border-bottom: 1px solid var(--aicd-rule-light);
    line-height: 1.6;
    vertical-align: middle;
}

.aicd-ranking-table tr:last-child td {
    border-bottom: none;
}

/* Highlight row — 그라디언트 대신 muted bg */
.aicd-ranking-table__highlight td {
    background: var(--aicd-bg-muted);
}

.aicd-ranking-table__highlight {
    position: relative;
}

.aicd-ranking-table__highlight::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--aicd-primary);
}

.aicd-ranking-table__rank-cell {
    width: 60px;
}

.aicd-ranking-table__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--aicd-bg-muted);
    color: var(--aicd-ink-2);
    font-family: 'Bebas Neue', sans-serif;
    font-size: 17px;
    font-weight: 400;
    border-radius: var(--radius-full, 9999px);
    line-height: 1;
    padding-top: 2px;
    border: 1px solid var(--aicd-rule);
}

.aicd-ranking-table__rank--first {
    background: var(--aicd-primary);
    color: var(--aicd-bg);
    border-color: var(--aicd-primary);
}

.aicd-ranking-table__name {
    color: var(--aicd-ink);
    font-weight: 500;
}

.aicd-ranking-table__name strong {
    color: var(--aicd-ink);
    font-weight: 700;
}

.aicd-ranking-table code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.85em;
    color: var(--aicd-ink);
    background: var(--aicd-bg-muted);
    padding: 2px 6px;
    border-radius: var(--aicd-radius);
    border: 1px solid var(--aicd-rule);
}

/* Competitor Analysis */
.aicd-competitor-analysis {
    margin-top: 36px;
    padding: 32px 32px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
}

.aicd-competitor-analysis__title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: var(--aicd-ink);
    letter-spacing: -0.01em;
    margin: 0 0 18px 0;
    line-height: 1;
}

.aicd-competitor-analysis__text {
    font-size: 14.5px;
    color: var(--aicd-ink-2);
    line-height: 1.8;
    margin: 0 0 14px 0;
}

.aicd-competitor-analysis__text:last-child {
    margin-bottom: 0;
}

.aicd-competitor-analysis__text strong {
    color: var(--aicd-ink);
    font-weight: 700;
}

.aicd-competitor-analysis__link {
    color: var(--aicd-accent);
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, 0.3);
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
    transition: color 0.2s;
    font-weight: 500;
}

.aicd-competitor-analysis__link:hover {
    color: var(--aicd-accent-hover);
}


/* ==========================================
   WHY THIS HAPPENED — 원리 4가지
   ========================================== */
.aicd-why {
    margin-bottom: 110px;
    padding-top: 60px;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-why__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.aicd-why__item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 24px;
    padding: 32px 0;
    border-top: 1px solid var(--aicd-rule-light);
}

.aicd-why__item::before { content: none; }

.aicd-why__item:first-child {
    padding-top: 0;
    border-top: none;
}

.aicd-why__num {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 44px;
    font-weight: 400;
    color: var(--aicd-primary);
    letter-spacing: -0.02em;
    line-height: 1;
    text-align: left;
}

.aicd-why__body {
    min-width: 0;
}

.aicd-why__name {
    font-size: 18px;
    font-weight: 700;
    color: var(--aicd-ink);
    letter-spacing: -0.015em;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

.aicd-why__desc {
    font-size: 14.5px;
    color: var(--aicd-ink-2);
    line-height: 1.85;
    margin: 0;
}

.aicd-why__desc strong {
    color: var(--aicd-ink);
    font-weight: 600;
}

.aicd-why__desc em {
    font-style: italic;
    color: var(--aicd-ink-2);
}

.aicd-why__desc code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.88em;
    background: var(--aicd-bg-muted);
    padding: 1px 5px;
    border-radius: var(--aicd-radius);
    color: var(--aicd-ink);
    border: 1px solid var(--aicd-rule);
}

/* Takeaway — Navy 배경 블록 (임팩트) */
.aicd-why__takeaway {
    margin-top: 40px;
    padding: 24px 28px;
    background: var(--aicd-primary);
    color: var(--aicd-bg);
    font-size: 15px;
    line-height: 1.75;
    border-radius: var(--aicd-radius);
}

.aicd-why__takeaway strong {
    color: var(--aicd-gold);
    font-weight: 700;
}

.aicd-why__takeaway em {
    font-style: italic;
    color: rgba(255, 255, 255, 0.85);
}

.aicd-why__takeaway-link {
    color: var(--aicd-gold);
    text-decoration: underline;
    text-decoration-color: rgba(255, 215, 0, 0.4);
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
    transition: color 0.2s, text-decoration-color 0.2s;
    font-weight: 600;
}

.aicd-why__takeaway-link:hover {
    color: var(--aicd-bg);
    text-decoration-color: var(--aicd-gold);
}


/* ==========================================
   HOW TO REPRODUCE
   파란 좌측 보더 제거, 라인만 Navy로
   ========================================== */
.aicd-reproduce {
    margin-bottom: 110px;
    padding-top: 60px;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-reproduce__steps {
    list-style: none;
    padding: 0;
    margin: 0 0 36px 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

.aicd-reproduce__steps::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 30px;
    bottom: 30px;
    width: 1px;
    background: var(--aicd-rule);
}

.aicd-reproduce__step {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 24px;
    padding: 20px 0;
    position: relative;
}

.aicd-reproduce__step::before { content: none; }

.aicd-reproduce__step-num {
    width: 60px;
    height: 60px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-primary);
    border-radius: var(--radius-full, 9999px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: var(--aicd-primary);
    letter-spacing: 0.02em;
    line-height: 1;
    position: relative;
    z-index: 1;
    text-align: center;
    padding-top: 2px;
}

.aicd-reproduce__step-body {
    padding-top: 8px;
    min-width: 0;
}

.aicd-reproduce__step-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--aicd-ink);
    letter-spacing: -0.015em;
    line-height: 1.3;
    margin: 0 0 12px 0;
}

.aicd-reproduce__step-desc {
    font-size: 14px;
    color: var(--aicd-ink-2);
    line-height: 1.8;
    margin: 0;
}

.aicd-reproduce__step-desc strong {
    color: var(--aicd-ink);
    font-weight: 600;
}

.aicd-reproduce__step-desc code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.88em;
    background: var(--aicd-bg-muted);
    padding: 1px 5px;
    border-radius: var(--aicd-radius);
    color: var(--aicd-ink);
    border: 1px solid var(--aicd-rule);
}

.aicd-reproduce__link {
    color: var(--aicd-accent);
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, 0.35);
    text-underline-offset: 3px;
    font-weight: 500;
    transition: color 0.2s;
}

.aicd-reproduce__link:hover {
    color: var(--aicd-accent-hover);
}

/* Prompt 박스 — 파란 좌측 보더 제거 */
.aicd-reproduce__prompt {
    margin-top: 12px;
    padding: 16px 18px;
    background: var(--aicd-bg-muted);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.aicd-reproduce__prompt-label {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.aicd-reproduce__prompt code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 14px;
    color: var(--aicd-ink);
    background: var(--aicd-bg);
    padding: 12px 14px;
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    line-height: 1.6;
    user-select: all;
    -webkit-user-select: all;
    cursor: text;
    word-break: break-all;
}

.aicd-reproduce__note {
    padding: 22px 24px;
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
}

.aicd-reproduce__note-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--aicd-ink);
    margin: 0 0 10px 0;
    letter-spacing: -0.01em;
}

.aicd-reproduce__note-text {
    font-size: 13px;
    color: var(--aicd-ink-2);
    line-height: 1.8;
    margin: 0;
}

.aicd-reproduce__note-text strong {
    color: var(--aicd-ink);
    font-weight: 600;
}


/* ==========================================
   METHODOLOGY RECAP — 초록 check 제거
   ========================================== */
.aicd-methodology-recap {
    margin-bottom: 110px;
    padding-top: 60px;
    border-top: 1px solid var(--aicd-rule);
}

.aicd-methodology-recap__list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid var(--aicd-rule);
    border-bottom: 1px solid var(--aicd-rule);
}

.aicd-methodology-recap__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 4px;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--aicd-rule-light);
    font-size: 13.5px;
    color: var(--aicd-ink-2);
    line-height: 1.6;
}

.aicd-methodology-recap__item:last-child {
    border-bottom: none;
}

.aicd-methodology-recap__item::before { content: none; }

/* 초록 원 제거, 심플한 체크 마크 */
.aicd-methodology-recap__check {
    flex-shrink: 0;
    color: var(--aicd-primary);
    font-size: 14px;
    font-weight: 700;
    margin-top: 2px;
    line-height: 1;
}

.aicd-methodology-recap__item strong {
    color: var(--aicd-ink);
    font-weight: 700;
    margin-right: 4px;
}

.aicd-methodology-recap__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--aicd-primary);
    text-decoration: none;
    letter-spacing: 0.02em;
    transition: gap 0.3s;
}

.aicd-methodology-recap__link:hover {
    gap: 10px;
    color: var(--aicd-accent);
}


/* ==========================================
   PAGINATION — 박스 제거, 심플 링크
   ========================================== */
.aicd-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 48px 0 0;
    border-top: 1px solid var(--aicd-primary);
    flex-wrap: wrap;
}

.aicd-pagination__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--aicd-ink-3);
    text-decoration: none;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s, gap 0.3s;
}

.aicd-pagination__back:hover {
    color: var(--aicd-primary);
    gap: 12px;
}

.aicd-pagination__back svg {
    width: 14px;
    height: 14px;
}

/* 박스 제거 — 텍스트 링크로 전환 */
.aicd-pagination__next {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 0;
    background: transparent;
    border: none;
    text-decoration: none;
    transition: gap 0.3s;
}

.aicd-pagination__next:hover {
    gap: 18px;
    background: transparent;
}

.aicd-pagination__next-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
}

.aicd-pagination__next-label {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-ink-3);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.aicd-pagination__next-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--aicd-ink);
    letter-spacing: -0.01em;
}

.aicd-pagination__next svg {
    width: 16px;
    height: 16px;
    color: var(--aicd-primary);
    transition: transform 0.3s;
}

.aicd-pagination__next:hover svg {
    transform: translateX(4px);
}


/* ==========================================
   SIDEBAR
   ========================================== */
.aicd-sidebar {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Meta Card */
.aicd-meta-card {
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    padding: 24px;
}

.aicd-meta-card__label {
    display: block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--aicd-primary);
}

.aicd-meta-card__list {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.aicd-meta-card__row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.aicd-meta-card__row dt {
    font-size: 10px;
    font-weight: 600;
    color: var(--aicd-ink-3);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.aicd-meta-card__row dd {
    margin: 0;
    font-size: 13.5px;
    color: var(--aicd-ink);
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.aicd-meta-card__row dd code {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 0.88em;
    color: var(--aicd-ink);
    background: var(--aicd-bg-muted);
    padding: 2px 6px;
    border-radius: var(--aicd-radius);
    border: 1px solid var(--aicd-rule);
    word-break: break-all;
}

/* 엔진 태그 — 심플 텍스트 기반 */
.aicd-meta-card__engine-tag {
    display: inline-block;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 600;
    color: var(--aicd-ink);
    border: 1px solid var(--aicd-rule);
    background: var(--aicd-bg-muted);
    border-radius: var(--aicd-radius);
    letter-spacing: 0.01em;
}

.aicd-meta-card__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--aicd-primary);
    color: var(--aicd-bg);
    font-family: 'Bebas Neue', sans-serif;
    font-size: 14px;
    font-weight: 400;
    border-radius: var(--radius-full, 9999px);
    line-height: 1;
    padding-top: 2px;
}


/* Share */
.aicd-share {
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    padding: 20px 24px;
}

.aicd-share__label {
    display: block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.aicd-share__buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.aicd-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--aicd-ink-2);
    background: transparent;
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    font-family: inherit;
}

.aicd-share__btn:hover {
    border-color: var(--aicd-primary);
    color: var(--aicd-primary);
}

.aicd-share__btn.is-copied {
    background: var(--aicd-primary);
    border-color: var(--aicd-primary);
    color: var(--aicd-bg);
}

.aicd-share__btn svg {
    flex-shrink: 0;
}


/* Related Cases */
.aicd-related {
    background: var(--aicd-bg);
    border: 1px solid var(--aicd-rule);
    border-radius: var(--aicd-radius);
    padding: 24px;
}

.aicd-related__label {
    display: block;
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-primary);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--aicd-primary);
}

.aicd-related__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.aicd-related__list li::before { content: none; }

.aicd-related__link {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 14px;
    text-decoration: none;
    color: var(--aicd-ink);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--aicd-radius);
    transition: all 0.2s;
}

.aicd-related__link:hover {
    background: var(--aicd-bg-muted);
    border-color: var(--aicd-rule);
}

.aicd-related__num {
    font-family: 'SF Mono', 'Monaco', 'Cascadia Code', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--aicd-ink-3);
    letter-spacing: 0.08em;
}

.aicd-related__name {
    font-size: 14px;
    font-weight: 700;
    color: var(--aicd-ink);
    letter-spacing: -0.01em;
    margin: 2px 0;
}

.aicd-related__meta {
    font-size: 11.5px;
    color: var(--aicd-ink-3);
    line-height: 1.4;
}


/* ==========================================
   CTA — 다크 Navy 섹션 (유일한 그라디언트 위치)
   ========================================== */
.aicd-cta {
    background: var(--aicd-primary);
    padding: 120px 0;
    position: relative;
    overflow: hidden;
}

.aicd-cta::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

.aicd-cta .container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 1;
}

.aicd-cta__content {
    max-width: 720px;
}

.aicd-cta__title {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 800;
    color: var(--aicd-bg);
    letter-spacing: -0.03em;
    line-height: 1.2;
    margin: 0 0 24px 0;
}

.aicd-cta__title-accent {
    color: var(--aicd-gold);
}

.aicd-cta__desc {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.8;
    margin: 0 0 40px 0;
}

.aicd-cta__desc strong {
    color: var(--aicd-bg);
    font-weight: 600;
}

.aicd-cta__buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.aicd-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: all 0.3s;
    white-space: nowrap;
    border-radius: var(--aicd-radius);
}

.aicd-cta__btn--primary {
    background: var(--aicd-bg);
    color: var(--aicd-primary);
    border: 1.5px solid var(--aicd-bg);
}

.aicd-cta__btn--primary:hover {
    background: transparent;
    color: var(--aicd-bg);
}

.aicd-cta__btn--primary svg {
    transition: transform 0.3s;
}

.aicd-cta__btn--primary:hover svg {
    transform: translateX(4px);
}

.aicd-cta__btn--outline {
    background: transparent;
    color: var(--aicd-bg);
    border: 1.5px solid rgba(255, 255, 255, 0.3);
}

.aicd-cta__btn--outline:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.6);
}


/* ==========================================
   RESPONSIVE
   ========================================== */
@media (max-width: 1080px) {
    .aicd-content__layout {
        grid-template-columns: 1fr;
        max-width: var(--aicd-col);
        gap: 48px;
    }
    .aicd-sidebar {
        position: static;
    }
}

@media (max-width: 768px) {
    .aicd-hero {
        padding: 100px 0 0;
    }
    .aicd-hero .container {
        padding: 0 20px;
    }

    .aicd-hero__title {
        font-size: clamp(1.7rem, 6vw, 2.2rem);
    }

    .aicd-hero__subtitle {
        font-size: 13px;
    }

    .aicd-hero__excerpt {
        font-size: 14px;
    }

    .aicd-hero__info-row {
        gap: 18px;
    }

    .aicd-content {
        padding: 60px 0 100px;
    }
    .aicd-content__layout {
        padding: 0 16px;
        gap: 40px;
    }

    /* Answer Block */
    .aicd-answer {
        padding: 28px 24px;
        margin-bottom: 80px;
    }
    .aicd-answer__text {
        font-size: 14.5px;
    }

    /* AI Snippet */
    .aicd-ai-snippet {
        padding: 18px 20px;
        margin-bottom: 80px;
    }

    /* Sections 공통 */
    .aicd-evidence,
    .aicd-context,
    .aicd-ranking,
    .aicd-why,
    .aicd-reproduce,
    .aicd-methodology-recap {
        margin-bottom: 80px;
        padding-top: 48px;
    }

    .aicd-quotable {
        margin-bottom: 80px;
    }

    /* Copyright Notice */
    .aicd-copyright-notice {
        padding: 14px 16px;
        gap: 10px;
        flex-direction: column;
    }
    .aicd-copyright-notice__icon {
        width: 28px;
        height: 28px;
    }
    .aicd-copyright-notice__text {
        font-size: 12px;
    }

    /* Reproduce */
    .aicd-reproduce__step {
        grid-template-columns: 44px 1fr;
        gap: 14px;
        padding: 16px 0;
    }
    .aicd-reproduce__step-num {
        width: 44px;
        height: 44px;
        font-size: 12px;
    }
    .aicd-reproduce__steps::before {
        left: 22px;
    }
    .aicd-reproduce__step-title {
        font-size: 15px;
    }
    .aicd-reproduce__step-desc {
        font-size: 13.5px;
    }
    .aicd-reproduce__prompt code {
        font-size: 12.5px;
        padding: 10px 12px;
    }

    /* Prompt/Response */
    .aicd-prompt-block__text {
        font-size: 13.5px;
        padding: 18px 20px;
    }
    .aicd-response-block__body {
        padding: 22px 20px;
    }
    .aicd-response-block__citation-item--highlight {
        margin: 4px -2px;
        padding: 14px 14px 14px 12px;
    }
    .aicd-response-block__citation-rank {
        width: 28px;
        height: 28px;
        font-size: 16px;
    }
    .aicd-response-block__citation-name {
        font-size: 15px;
    }

    /* Ranking Table */
    .aicd-ranking-table {
        font-size: 13px;
    }
    .aicd-ranking-table th,
    .aicd-ranking-table td {
        padding: 12px 10px;
    }
    .aicd-ranking-table code {
        font-size: 0.78em;
    }
    .aicd-competitor-analysis {
        padding: 22px 22px;
    }
    .aicd-competitor-analysis__text {
        font-size: 13.5px;
    }

    /* Why */
    .aicd-why__item {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 24px 0;
    }
    .aicd-why__num {
        font-size: 36px;
    }
    .aicd-why__name {
        font-size: 16px;
    }
    .aicd-why__desc {
        font-size: 13.5px;
    }
    .aicd-why__takeaway {
        font-size: 14px;
        padding: 20px 22px;
    }

    /* Pagination */
    .aicd-pagination {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .aicd-pagination__next {
        width: 100%;
        justify-content: space-between;
    }

    /* Sidebar */
    .aicd-meta-card,
    .aicd-related {
        padding: 20px;
    }
    .aicd-share {
        padding: 16px 20px;
    }

    /* CTA */
    .aicd-cta {
        padding: 80px 0;
    }
    .aicd-cta__buttons {
        flex-direction: column;
    }
    .aicd-cta__btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .aicd-hero__title {
        font-size: 1.65rem;
    }
    .aicd-hero__meta-top {
        gap: 10px;
    }
    .aicd-hero__divider {
        display: none;
    }

    .aicd-answer__title {
        font-size: 28px;
    }
    .aicd-quotable__title {
        font-size: 20px;
    }

    .aicd-response-block__head {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* ==========================================
   ENTRANCE ANIMATIONS
   ========================================== */
.aicd-hero__breadcrumb,
.aicd-hero__meta-top,
.aicd-hero__title,
.aicd-hero__subtitle,
.aicd-hero__excerpt,
.aicd-hero__info-row {
    opacity: 0;
    transform: translateY(14px);
}

.aicd-hero__accent-bar {
    transform-origin: left center;
    transform: scaleX(0);
}

.is-ready .aicd-hero__breadcrumb {
    animation: aicdFadeUp 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards;
}
.is-ready .aicd-hero__meta-top {
    animation: aicdFadeUp 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.15s forwards;
}
.is-ready .aicd-hero__accent-bar {
    animation: aicdBarSlide 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.22s forwards;
}
.is-ready .aicd-hero__title {
    animation: aicdFadeUp 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.28s forwards;
}
.is-ready .aicd-hero__subtitle {
    animation: aicdFadeUp 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}
.is-ready .aicd-hero__excerpt {
    animation: aicdFadeUp 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.5s forwards;
}
.is-ready .aicd-hero__info-row {
    animation: aicdFadeUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards;
}

@keyframes aicdFadeUp {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes aicdBarSlide {
    to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
    .aicd-hero__breadcrumb,
    .aicd-hero__meta-top,
    .aicd-hero__title,
    .aicd-hero__subtitle,
    .aicd-hero__excerpt,
    .aicd-hero__info-row,
    .aicd-hero__accent-bar {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}