@charset "utf-8";
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

/* ==========================================================
   COMMON · ADM UI 2.0 page shell and reusable cards
   ========================================================== */
.blog-page { width: 100%; max-width: 1440px; margin: 0 auto; color: var(--rp-text); }
.blog-page, .blog-page * { box-sizing: border-box; }
.blog-page .rp-page-body { display: block; flex-direction: column; gap: 24px; width: 100%; }
.blog-page .rp-page-header { margin: 0; padding: 0 0 20px; border-bottom: 1px solid var(--rp-border); }
.blog-page .rp-page-header h1 { margin: 0; color: var(--rp-text); }
.blog-page .rp-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.blog-page .search-container.rp-card { margin-bottom: 24px; }
.blog-page .search-group.required,
.blog-page .search-group.optional,
.blog-page .search-group,
.search-group.required,
.search-group.optional,
.search-group {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.blog-page .search-group:has(textarea),
.search-group:has(textarea) {
  display: block;
}
.blog-page .search-group input[type="text"],
.blog-page .search-group input,
.search-group input[type="text"],
.search-group input {
  flex: 1;
  min-width: 0;
}
.blog-page .search-group a,
.search-group a,
.place-input-section-print {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: var(--rp-radius);
  background: var(--rp-surface-alt);
  border: 1px solid var(--rp-border);
  color: var(--rp-text);
  text-decoration: none;
  font-size: 16px;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.blog-page .search-group a:hover,
.search-group a:hover,
.place-input-section-print:hover {
  background: var(--rp-primary);
  border-color: var(--rp-primary);
  color: #ffffff;
}
.place-input-notice-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}
.place-input-notice-wrap .place-input-notice {
  flex: 1;
  min-width: 0;
}
.blog-page .rp-page-body > #resultContainer,
.blog-page .rp-page-body > #report_cont,
.blog-page .rp-page-body > #resultsContainer { width: 100%; }
.blog-page .rp-result-card { background: var(--rp-surface); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); box-shadow: var(--rp-shadow-sm); overflow: hidden; }
@media (max-width: 767px) {
  .blog-page .rp-page-body { gap: 16px; }
  .blog-page .rp-card-grid { grid-template-columns: 1fr; }
}

/* ==========================================================
   ANALYSIS · page-scoped styles
   ========================================================== */

/* 블로그 종합 분석 */
@scope (.blog-page--blog-analysis) {
:scope {
  --page-blog-analyze-blog-analysis-shadow-001: 0 0 10px rgba(255,255,255,0.3);
  --page-blog-analyze-blog-analysis-shadow-002: 0 2px 4px rgba(0,0,0,0.3);
  --page-blog-analyze-blog-analysis-shadow-003: 0 4px 12px rgba(102, 126, 234, 0.4);
  --page-blog-analyze-blog-analysis-shadow-004: 0 0 12px rgba(239, 68, 68, 0.4);
  --page-blog-analyze-blog-analysis-shadow-005: 0 0 12px rgba(249, 115, 22, 0.4);
  --page-blog-analyze-blog-analysis-shadow-006: 0 0 12px rgba(245, 158, 11, 0.4);
  --page-blog-analyze-blog-analysis-shadow-007: 0 12px 32px color-mix(in srgb, var(--blog-analysis-grade-color) 19%, transparent);
  --page-blog-analyze-blog-analysis-shadow-008: 0 0 10px rgba(16, 185, 129, 0.4);
  --page-blog-analyze-blog-analysis-shadow-009: 0 0 10px rgba(59, 130, 246, 0.4);
  --page-blog-analyze-blog-analysis-shadow-010: 0 0 10px rgba(245, 158, 11, 0.4);
  --page-blog-analyze-blog-analysis-shadow-011: 0 0 10px rgba(139, 92, 246, 0.4);
  --page-blog-analyze-blog-analysis-shadow-012: 0 2px 8px rgba(0,0,0,0.3);
  --page-blog-analyze-blog-analysis-shadow-013: 0 2px 8px rgba(16, 185, 129, 0.4);
  --page-blog-analyze-blog-analysis-filter-014: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
  --page-blog-analyze-blog-analysis-color-015: var(--rp-surface);
  --page-blog-analyze-blog-analysis-color-016: var(--rp-surface-alt);
  --page-blog-analyze-blog-analysis-blue-017: #3b82f6;
  --page-blog-analyze-blog-analysis-blue-018: #2563eb;
  --page-blog-analyze-blog-analysis-blue-019: #00bfff;
  --page-blog-analyze-blog-analysis-color-020: var(--rp-surface-alt);
  --page-blog-analyze-blog-analysis-color-021: var(--rp-surface);
  --page-blog-analyze-blog-analysis-blue-022: #60a5fa;
  --page-blog-analyze-blog-analysis-color-023: var(--rp-surface);
  --page-blog-analyze-blog-analysis-radius-024: 2px;
  --page-blog-analyze-blog-analysis-radius-025: 50%;
  --page-blog-analyze-blog-analysis-radius-026: 3px;
  --page-blog-analyze-blog-analysis-radius-027: 0 0 8px 0;
}

/* blog/analyze/blog-analysis/index 전용 스타일 */
.sort-icon {
		display: inline-block;
		position: relative;
		margin-left: 4px;
	}
	
	.sort-icon:after {
		content: "\f0dc";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		font-size: 14px;
		opacity: 0.4;
	}
	
	.sort-asc .sort-icon:after {
		content: "\f0de";
	}
	
	.sort-desc .sort-icon:after {
		content: "\f0dd";
	}

 
                            @keyframes grow-bar {
                                from { transform: scaleX(0); }
                                to { transform: scaleX(1); }
                            }
						.gauge-container { 
							width:100%;
							position: relative;
							margin: 10px auto 0;
							height: 0;
							padding-bottom: 272px;
						}
						.gauge-needle { 
							width: 4px; 
							height: 80%;
							background: var(--rp-text); 
							border-radius: var(--page-blog-analyze-blog-analysis-radius-024); 
							position: absolute; 
							left: calc(50% - 2px); 
							bottom: 0;
							transform-origin: 50% 100%; 
							transition: transform 1s ease-in-out; 
						}
						.gauge-needle-knob { 
							width: 16px; 
							height: 16px; 
							background: var(--rp-text); 
							border-radius: var(--page-blog-analyze-blog-analysis-radius-025); 
							position: absolute; 
							left: calc(50% - 8px); 
							bottom: -8px;
						}
						.gauge-data { 
							position: absolute; 
							top: 60%;
							width: 100%; 
							text-align: center; 
							z-index: 1; 
						}
						.gauge-score { font-size: 1.8em; font-weight: bold; color: var(--rp-text); }
						.gauge-level { font-size: 1.1em; color: var(--rp-text); margin-top: 2px; }

 
                            @keyframes grow-bar {
                                from { transform: scaleX(0); }
                                to { transform: scaleX(1); }
                            }
                            @keyframes fadeIn {
                                from { opacity: 0; transform: translateY(10px); }
                                to { opacity: 1; transform: translateY(0); }
                            }
                            .gauge-container { 
                                width: 100%;
                                position: relative;
                                margin: 10px auto 0;
                                height: 0;
                                padding-bottom: 272px;
                            }
                            .gauge-needle { 
                                width: 4px; 
                                height: 80%;
                                background: var(--rp-text); 
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-024); 
                                position: absolute; 
                                left: calc(50% - 2px); 
                                bottom: 0;
                                transform-origin: 50% 100%; 
                                transition: transform 1s ease-in-out; 
                                box-shadow: var(--page-blog-analyze-blog-analysis-shadow-001);
                            }
                            .gauge-needle-knob { 
                                width: 16px; 
                                height: 16px; 
                                background: var(--rp-text); 
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-025); 
                                position: absolute; 
                                left: calc(50% - 8px); 
                                bottom: -8px;
                                box-shadow: var(--rp-shadow-sm);
                            }
                            .gauge-data { 
                                position: absolute; 
                                top: 60%;
                                width: 100%; 
                                text-align: center; 
                                z-index: 1; 
                            }
                            .gauge-score { font-size: 1.8em; font-weight: bold; color: var(--rp-text); text-shadow: var(--page-blog-analyze-blog-analysis-shadow-002); }
                            .gauge-level { font-size: 1.1em; color: var(--rp-text); margin-top: 2px; }
                            .profile-initial { 
                                width: 80px; 
                                height: 80px; 
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-025); 
                                background: linear-gradient(135deg, var(--rp-accent) 0%, var(--rp-accent) 100%); 
                                color: var(--rp-chrome-title); 
                                display: flex; 
                                align-items: center; 
                                justify-content: center; 
                                font-size: 24px; 
                                font-weight: bold; 
                                flex-shrink: 0;
                                box-shadow: var(--page-blog-analyze-blog-analysis-shadow-003);
                            }
                            figure img { 
                                width: 80px; 
                                height: 80px; 
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-025); 
                                object-fit: cover; 
                                flex-shrink: 0;
                                box-shadow: var(--rp-shadow-sm);
                            }
                            .pop-bd {
                                padding: 6px 10px;
                                flex: 1;
                                overflow-y: auto;
                                max-height: 200px;
                                min-height: 200px;
                            }
                            .pop-bd::-webkit-scrollbar {
                                width: 6px;
                            }
                            .pop-bd::-webkit-scrollbar-track {
                                background: var(--rp-surface-alt);
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-026);
                            }
                            .pop-bd::-webkit-scrollbar-thumb {
                                background: var(--rp-surface-alt);
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-026);
                            }
                            .pop-bd::-webkit-scrollbar-thumb:hover {
                                background: var(--rp-surface-alt);
                            }
                            .pop-item {
                                display: flex;
                                align-items: center;
                                padding: 10px 12px;
                                border-bottom: 1px solid var(--rp-border);
                                transition: all 0.2s ease;
                                border-radius: var(--rp-radius-sm);
                                margin-bottom: 4px;
                                gap: 12px;
                            }
                            .pop-item:hover {
                                background: var(--rp-surface-alt);
                                transform: translateX(4px);
                            }
                            .pop-item:last-child {
                                border-bottom: none;
                                margin-bottom: 0;
                            }
                            .pop-rank {
                                width: 28px;
                                height: 28px;
                                border-radius: var(--page-blog-analyze-blog-analysis-radius-025);
                                background: var(--rp-surface);
                                color: var(--rp-text-muted);
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                font-size: 12px;
                                font-weight: 700;
                                flex-shrink: 0;
                            }
                            .pop-rank.r1 {
                                background: linear-gradient(135deg, var(--rp-danger), var(--rp-danger));
                                color: var(--rp-on-brand);
                                box-shadow: var(--page-blog-analyze-blog-analysis-shadow-004);
                            }
                            .pop-rank.r2 {
                                background: linear-gradient(135deg, var(--rp-warning), var(--rp-warning));
                                color: var(--rp-on-brand);
                                box-shadow: var(--page-blog-analyze-blog-analysis-shadow-005);
                            }
                            .pop-rank.r3 {
                                background: linear-gradient(135deg, var(--rp-warning), var(--rp-warning));
                                color: var(--rp-on-brand);
                                box-shadow: var(--page-blog-analyze-blog-analysis-shadow-006);
                            }
                            .pop-title {
                                flex: 1;
                                font-size: 13px;
                                color: var(--rp-text);
                                overflow: hidden;
                                text-overflow: ellipsis;
                                white-space: nowrap;
                                font-weight: 500;
                            }
                            .pop-cnt {
                                font-size: 13px;
                                color: var(--rp-text-muted);
                                font-weight: 600;
                                white-space: nowrap;
                                min-width: 60px;
                                text-align: right;
                            }
                            .no-data {
                                text-align: center;
                                padding: 40px 20px;
                                color: var(--rp-text-muted);
                                font-size: 14px;
                            }
                            .stat-card {
                                background: var(--rp-surface);
                                border: 1px solid var(--rp-border);
                                border-radius: var(--rp-radius);
                                padding: 20px;
                                transition: all 0.3s ease;
                                animation: fadeIn 0.5s ease;
                            }
                            .stat-card:hover {
                                transform: translateY(-2px);
                                box-shadow: var(--rp-shadow-sm);
                                border-color: var(--rp-border);
                            }
                            .chart-card {
                                background: var(--rp-surface);
                                border: 1px solid var(--rp-border);
                                border-radius: var(--rp-radius);
                                padding: 24px;
                                margin-bottom: 20px;
                                animation: fadeIn 0.6s ease;
                            }
                            .table-card {
                                background: var(--rp-surface);
                                border: 1px solid var(--rp-border);
                                border-radius: var(--rp-radius);
                                padding: 24px;
                                animation: fadeIn 0.7s ease;
                                display: flex;
                                flex-direction: column;
                                width: 100%;
                            }
                            #pt {
                                width: 100%;
                                min-width: 900px;
                                table-layout: auto;
                            }
                            #pt th, #pt td {
                                white-space: nowrap;
                            }
                            /* 제목·키워드·순위 컬럼만 wrapping 허용 */
                            #pt th:nth-child(2), #pt td:nth-child(2),
                            #pt th:nth-child(13), #pt td:nth-child(13),
                            #pt th:nth-child(14), #pt td:nth-child(14) {
                                white-space: normal;
                                word-break: keep-all;
                                min-width: 120px;
                            }
                            #pt th:nth-child(2), #pt td:nth-child(2) { min-width: 160px; }
                            #pt th:nth-child(14), #pt td:nth-child(14) { min-width: 110px; }
                            /* 스티키 컬럼: URL·분석 */
                            #pt th:nth-child(16), #pt td:nth-child(16) {
                                min-width: 44px; width: 44px;
                                position: sticky; right: 62px; z-index: 2;
                                background: var(--rp-surface);
                                box-shadow: var(--rp-shadow-sm);
                            }
                            #pt th:nth-child(17), #pt td:nth-child(17) {
                                min-width: 62px; width: 62px;
                                position: sticky; right: 0; z-index: 2;
                                background: var(--rp-surface);
                            }
                            #pt thead th:nth-child(16),
                            #pt thead th:nth-child(17) { z-index: 4; background: var(--page-blog-analyze-blog-analysis-color-015); }
                            .summary-grid {
                                display: grid;
                                grid-template-columns: repeat(2, 1fr);
                                gap: 20px;
                                margin-bottom: 30px;
                            }
                            .summary-card {
                                background: linear-gradient(135deg, color-mix(in srgb, var(--blog-analysis-grade-color) 8%, transparent) 0%, color-mix(in srgb, var(--blog-analysis-grade-color) 2%, transparent) 100%);
                                border: 2px solid color-mix(in srgb, var(--blog-analysis-grade-color) 25%, transparent);
                                border-radius: var(--rp-radius);
                                padding: 24px;
                                text-align: center;
                                transition: all 0.3s ease;
                                animation: fadeIn 0.4s ease;
                            }
                            .summary-card:hover {
                                transform: translateY(-4px);
                                box-shadow: var(--page-blog-analyze-blog-analysis-shadow-007);
                                border-color: color-mix(in srgb, var(--blog-analysis-grade-color) 38%, transparent);
                            }
                            /* ── 프로필/게이지 2열 ── */
                            .ba-profile-grid { display:grid; grid-template-columns:1fr 2fr; gap:24px; margin-bottom:30px; }
                            /* ── 차트 3열 ── */
                            .ba-chart-grid   { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:30px; }
                            /* ── 도넛 SVG ── */
                            .ba-donut-wrap { position:relative; flex-shrink:0; width:160px; height:160px; }
                            .ba-donut-wrap svg { width:100%; height:100%; }
                            .ba-donut-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; }
                            /* ── 반응형 ── */
                            @media (max-width:1100px) {
                                .summary-grid { grid-template-columns:repeat(3,1fr); }
                                .ba-chart-grid { grid-template-columns:repeat(2,1fr); }
                            }
                            @media (max-width:768px) {
                                .result-outer    { padding:12px !important; }
                                .summary-grid    { grid-template-columns:repeat(2,1fr); }
                                .ba-profile-grid { grid-template-columns:1fr; }
                                .ba-chart-grid   { grid-template-columns:1fr; }
                                .ba-donut-wrap   { width:130px; height:130px; }
                                .result-box      { padding:12px 10px !important; }
                                .stat-card       { padding:12px !important; }
                                .chart-card      { padding:12px !important; }
                                .table-card      { padding:14px 10px !important; }
                                h2               { font-size:20px !important; }
                                .gauge-score     { font-size:clamp(18px,5vw,28px) !important; }
                                #pt { font-size:12px; }
                                #pt th, #pt td { padding:8px 6px !important; }
                            }
                            @media (max-width:480px) {
                                .result-outer  { padding:8px 6px !important; }
                                .summary-grid  { grid-template-columns:1fr; }
                                .ba-donut-wrap { width:110px; height:110px; }
                                .table-card    { padding:10px 4px !important; }
                                #pt { font-size:11px; min-width:800px; }
                                #pt th, #pt td { padding:7px 5px !important; }
                                #pt th:nth-child(2), #pt td:nth-child(2) { min-width:130px; }
                            }

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-blog-analysis-u001 { font-family:'Pretendard', 'Malgun Gothic', sans-serif; }
.blog-analyze-blog-analysis-u002 { text-align:center;padding:40px; }
.blog-analyze-blog-analysis-u003 { color: var(--rp-text); }
.blog-analyze-blog-analysis-u004 { margin-top:20px;color: var(--rp-text); }
.blog-analyze-blog-analysis-u005 { text-align:center; }
.blog-analyze-blog-analysis-u006 { color:var(--rp-danger); }
.blog-analyze-blog-analysis-u007 { width:80px;height:80px;border-radius:var(--page-blog-analyze-blog-analysis-radius-025);object-fit:cover; }
.blog-analyze-blog-analysis-u008 { margin:0 0 20px 0;font-size:16px;font-weight:700;color: var(--rp-text);display:flex;align-items:center;gap:8px; }
.blog-analyze-blog-analysis-u009 { width:4px;height:20px;background:linear-gradient(180deg, var(--rp-success), var(--rp-success));border-radius:var(--page-blog-analyze-blog-analysis-radius-024); }
.blog-analyze-blog-analysis-u010 { margin-bottom:16px; }
.blog-analyze-blog-analysis-u011 { display:flex;justify-content:space-between;align-items:center;margin-bottom:8px; }
.blog-analyze-blog-analysis-u012 { color:var(--rp-text);font-size:13px;font-weight:500; }
.blog-analyze-blog-analysis-u013 { color:var(--rp-success);font-size:16px;font-weight:700; }
.blog-analyze-blog-analysis-u014 { width:100%;height:10px;background:var(--page-blog-analyze-blog-analysis-color-016);border-radius:var(--rp-radius-sm);overflow:hidden;position:relative; }
.blog-analyze-blog-analysis-u015 { height:100%;background:linear-gradient(90deg, var(--rp-success), var(--rp-success));transform-origin:left;animation:grow-bar 0.8s ease;box-shadow:var(--page-blog-analyze-blog-analysis-shadow-008); }
.blog-analyze-blog-analysis-u016 { color:var(--page-blog-analyze-blog-analysis-blue-017);font-size:16px;font-weight:700; }
.blog-analyze-blog-analysis-u017 { height:100%;background:linear-gradient(90deg, var(--page-blog-analyze-blog-analysis-blue-017), var(--page-blog-analyze-blog-analysis-blue-018));transform-origin:left;animation:grow-bar 0.9s ease;box-shadow:var(--page-blog-analyze-blog-analysis-shadow-009); }
.blog-analyze-blog-analysis-u018 { color:var(--rp-warning);font-size:16px;font-weight:700; }
.blog-analyze-blog-analysis-u019 { height:100%;background:linear-gradient(90deg, var(--rp-warning), var(--rp-warning));transform-origin:left;animation:grow-bar 1s ease;box-shadow:var(--page-blog-analyze-blog-analysis-shadow-010); }
.blog-analyze-blog-analysis-u020 { color:var(--rp-accent);font-size:16px;font-weight:700; }
.blog-analyze-blog-analysis-u021 { height:100%;background:linear-gradient(90deg, var(--rp-accent), var(--rp-accent));transform-origin:left;animation:grow-bar 1.1s ease;box-shadow:var(--page-blog-analyze-blog-analysis-shadow-011); }
.blog-analyze-blog-analysis-u022 { display:flex;align-items:center;gap:16px;flex-wrap:wrap; }
.blog-analyze-blog-analysis-u023 { transform:rotate(-90deg);filter:var(--page-blog-analyze-blog-analysis-filter-014); }
.blog-analyze-blog-analysis-u024 { font-size:clamp(22px,4vw,36px);font-weight:800;line-height:1;text-shadow:var(--page-blog-analyze-blog-analysis-shadow-012); }
.blog-analyze-blog-analysis-u025 { color:var(--blog-analyze-blog-analysis-dynamic-color); }
.blog-analyze-blog-analysis-u026 { font-size:12px;color:var(--rp-text-muted);margin-top:6px;font-weight:500; }
.blog-analyze-blog-analysis-u027 { flex:1; }
.blog-analyze-blog-analysis-u028 { display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px;background: var(--rp-surface-alt);border-radius:var(--rp-radius-sm);transition:all 0.2s ease; }
.blog-analyze-blog-analysis-u029 { display:inline-block;width:14px;height:14px;border-radius:var(--page-blog-analyze-blog-analysis-radius-025);flex-shrink:0; }
.blog-analyze-blog-analysis-u030 { background:var(--blog-analyze-blog-analysis-dynamic-background);box-shadow:var(--blog-analyze-blog-analysis-dynamic-box-shadow); }
.blog-analyze-blog-analysis-u031 { color:var(--rp-text);font-size:13px;flex:1;font-weight:500; }
.blog-analyze-blog-analysis-u032 { color: var(--rp-text);font-size:14px;font-weight:700;min-width:40px;text-align:right; }
.blog-analyze-blog-analysis-u033 { margin-top:12px;padding-top:12px;border-top:1px solid var(--rp-border);color:var(--rp-text-muted);font-size:12px;font-weight:500; }
/* 노출순위 배지 글자색: 다크모드에 따라 바뀌는 --rp-text 대신, 상태별 배경색 자체를 그대로 사용(라이트/다크 공통 고정색) */
.blog-analyze-blog-analysis-u034 { color: var(--blog-analyze-blog-analysis-dynamic-background); }
.blog-analyze-blog-analysis-u035 { background:var(--blog-analyze-blog-analysis-dynamic-background); }
.badge.blog-analyze-blog-analysis-u035 { background: none; }
.blog-analyze-blog-analysis-u036 { display:inline-block;color:var(--rp-accent);font-size:11px;font-weight:600;text-decoration:none;padding:3px 8px;background:color-mix(in srgb, var(--rp-accent) 12%, transparent);border-radius:var(--rp-radius-sm);border:1px solid color-mix(in srgb, var(--rp-accent) 35%, transparent);transition:all 0.2s;white-space:nowrap;cursor:pointer; }
.blog-analyze-blog-analysis-u037 { color:var(--rp-text); }
.blog-analyze-blog-analysis-u038 { border-bottom:1px solid var(--rp-border);transition:all 0.2s ease; }
.blog-analyze-blog-analysis-u039 { padding:12px 8px;text-align:center; }
.blog-analyze-blog-analysis-u040 { padding:12px 8px;color:var(--rp-text);font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.blog-analyze-blog-analysis-u041 { padding:12px 8px;text-align:center;color:var(--rp-text-muted);font-size:12px;white-space:nowrap; }
.blog-analyze-blog-analysis-u042 { padding:12px 8px;text-align:center;color:var(--rp-text-muted);font-size:12px; }
.blog-analyze-blog-analysis-u043 { padding:12px 8px;color:var(--rp-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis; }
.blog-analyze-blog-analysis-u044 { padding:12px 8px;text-align:center;font-size:12px;font-weight:600; }
.blog-analyze-blog-analysis-u045 { color:var(--blog-analyze-blog-analysis-dynamic-color);text-shadow:var(--blog-analyze-blog-analysis-dynamic-text-shadow); }
.blog-analyze-blog-analysis-u046 { font-family:'Pretendard', 'Malgun Gothic', sans-serif;margin:0 auto;padding:20px; }
.blog-analyze-blog-analysis-u047 { text-align:center;margin-bottom:30px;animation:fadeIn 0.3s ease; }
.blog-analyze-blog-analysis-u048 { margin:0 0 8px 0;color: var(--rp-text);font-size:28px;font-weight:700;letter-spacing:-0.5px; }
.blog-analyze-blog-analysis-u049 { margin:0;color:var(--rp-text-muted);font-size:14px; }
.blog-analyze-blog-analysis-u050 { color:var(--rp-text-muted);margin:0 0 12px 0;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px; }
.blog-analyze-blog-analysis-u051 { font-size:32px;font-weight:800;display:block; }
.blog-analyze-blog-analysis-u052 { color:var(--rp-success);font-size:32px;font-weight:800;display:block;text-shadow:var(--page-blog-analyze-blog-analysis-shadow-013); }
.blog-analyze-blog-analysis-u053 { margin-bottom:20px; }
.blog-analyze-blog-analysis-u054 { display:flex;align-items:center;gap:20px; }
.blog-analyze-blog-analysis-u055 { position:relative;margin:0; }
.blog-analyze-blog-analysis-u056 { margin:0 0 8px 0;font-size:20px;font-weight:700;color: var(--rp-text); }
.blog-analyze-blog-analysis-u057 { margin:0 0 4px 0;color:var(--rp-text-muted);font-size:14px; }
.blog-analyze-blog-analysis-u058 { margin:0;color: var(--rp-text);font-size:14px; }
.blog-analyze-blog-analysis-u059 { display:grid;grid-template-columns:repeat(2, 1fr);gap:12px; }
.blog-analyze-blog-analysis-u060 { text-align:center;padding:16px; }
.blog-analyze-blog-analysis-u061 { color:var(--rp-text-muted);margin:0 0 8px 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px; }
.blog-analyze-blog-analysis-u062 { color:var(--rp-danger);font-size:22px;font-weight:800;display:block; }
.blog-analyze-blog-analysis-u063 { color:var(--rp-success);font-size:22px;font-weight:800;display:block; }
.blog-analyze-blog-analysis-u064 { color:var(--page-blog-analyze-blog-analysis-blue-019);font-size:22px;font-weight:800;display:block; }
.blog-analyze-blog-analysis-u065 { color:var(--rp-text-muted);font-size:22px;font-weight:800;display:block; }
.blog-analyze-blog-analysis-u066 { width:4px;height:20px;border-radius:var(--page-blog-analyze-blog-analysis-radius-024); }
.blog-analyze-blog-analysis-u067 { position:absolute;top:0;left:0;width:100%;height:95%; }
.blog-analyze-blog-analysis-u068 { width:4px;height:20px;background:linear-gradient(180deg, var(--rp-warning), var(--rp-warning));border-radius:var(--page-blog-analyze-blog-analysis-radius-024); }
.blog-analyze-blog-analysis-u069 { margin-bottom:30px;overflow:hidden; }
.blog-analyze-blog-analysis-u070 { margin:0 0 16px 0;font-size:16px;font-weight:700;color: var(--rp-text);display:flex;align-items:center;gap:8px;flex-shrink:0; }
.blog-analyze-blog-analysis-u071 { width:4px;height:20px;background:linear-gradient(180deg, var(--page-blog-analyze-blog-analysis-blue-017), var(--page-blog-analyze-blog-analysis-blue-018));border-radius:var(--page-blog-analyze-blog-analysis-radius-024); }
.blog-analyze-blog-analysis-u072 { margin-left:auto;color:var(--rp-text-muted);font-size:13px;font-weight:500; }
.blog-analyze-blog-analysis-u073 { position:relative; }
.blog-analyze-blog-analysis-u074 { overflow-x:auto;overflow-y:visible;width:100%;-webkit-overflow-scrolling:touch; }
.blog-analyze-blog-analysis-u075 { width:100%;border-collapse:collapse;font-size:13px;min-width:900px; }
.blog-analyze-blog-analysis-u076 { padding:12px 8px;text-align:center;background:var(--page-blog-analyze-blog-analysis-color-020);color: var(--rp-text);font-size:12px;font-weight:600;border-bottom:2px solid var(--rp-border); }
.blog-analyze-blog-analysis-u077 { padding:12px 8px;text-align:left;background:var(--page-blog-analyze-blog-analysis-color-020);color: var(--rp-text);font-size:12px;font-weight:600;border-bottom:2px solid var(--rp-border); }
.blog-analyze-blog-analysis-u078 { padding:12px 8px;text-align:center;background:var(--page-blog-analyze-blog-analysis-color-021);color: var(--rp-text);font-size:12px;font-weight:600;border-bottom:2px solid var(--rp-border); }
.blog-analyze-blog-analysis-u079 { padding:12px 8px;text-align:center;background:var(--page-blog-analyze-blog-analysis-color-021);color:var(--page-blog-analyze-blog-analysis-blue-022);font-size:12px;font-weight:600;border-bottom:2px solid var(--rp-border); }
.blog-analyze-blog-analysis-u080 { position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--page-blog-analyze-blog-analysis-color-023));pointer-events:none;border-radius:var(--page-blog-analyze-blog-analysis-radius-027);transition:opacity .3s; }

.blog-analyze-blog-analysis-u036:hover { background: color-mix(in srgb, var(--rp-accent) 25%, transparent); }
.blog-analyze-blog-analysis-u038:hover { background: var(--rp-surface-hover); }
.blog-analysis-grade-color { color: var(--blog-analysis-grade-color); }
}

/* 네이버 메이트 */
@scope (.blog-page--naver-mate) {
:scope {
  --page-blog-analyze-naver-mate-brand-naver: #03c75a;
  --page-blog-analyze-naver-mate-brand-cafe: #ff6b35;
  --page-blog-analyze-naver-mate-link-content: #60a5fa;
--page-blog-analyze-naver-mate-color-003: #007bff;
--page-blog-analyze-naver-mate-color-008: #2d4a38;
  --page-blog-analyze-naver-mate-color-009: #3d5c48;
  --page-blog-analyze-naver-mate-color-010: #86efac;
  --page-blog-analyze-naver-mate-color-011: #2a3f5f;
  --page-blog-analyze-naver-mate-color-012: #354d73;
  --page-blog-analyze-naver-mate-blue-013: #93c5fd;
  --page-blog-analyze-naver-mate-color-014: #0069d9;
  --page-blog-analyze-naver-mate-radius-015: 999px;
  --page-blog-analyze-naver-mate-radius-016: 50%;
}

/* blog/analyze/naver-mate/index 전용 스타일 */
.search-container .search-date span { color: var(--rp-text); }
	.update-notice {
		padding: 12px 16px;
		margin: 0 0 16px;
		background: color-mix(in srgb, var(--rp-warning) 12%, var(--rp-surface));
		border: 1px solid color-mix(in srgb, var(--rp-warning) 55%, var(--rp-border));
		border-radius: var(--rp-radius-sm);
		color: var(--rp-text-muted);
		font-size: 14px;
		line-height: 1.5;
	}
	.category-container {
		background: var(--rp-surface);
		border-radius: var(--rp-radius-sm);
		padding: 20px;
		margin: 20px 0;
		box-shadow: var(--rp-shadow-sm);
	}
	.category-container h3 { margin: 0 0 15px; color: var(--rp-text); font-size: 18px; font-weight: 600; }
	.category-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
		gap: 10px;
		margin-bottom: 0;
	}
	.category-item {
		align-items: center;
		padding: 10px 14px;
		border: 2px solid var(--rp-border-strong);
		border-radius: var(--rp-radius-sm);
		cursor: pointer;
		transition: all .3s ease;
		background: var(--rp-surface);
		color: var(--rp-text);
		font-size: 14px;
		line-height: 1.4;
		user-select: none;
	}
	.category-item:hover { border-color: var(--page-blog-analyze-naver-mate-color-003); background: var(--rp-surface); }
	.category-item.active { border-color: var(--page-blog-analyze-naver-mate-color-003); background: var(--rp-surface); color: var(--page-blog-analyze-naver-mate-color-003); font-weight: 600; }
	.loading-message { color: var(--rp-text); font-size: 14px; margin-bottom: 12px; }
	.topic-data-container { margin-top: 32px; }
	.topic-data-container .topic-data-note { color: var(--rp-text); font-size: 14px; margin: 0 0 14px; line-height: 1.5; }
	.topic-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		max-height: 220px;
		overflow-y: auto;
	}
	.topic-btn {
		background: var(--rp-surface);
		border: 2px solid var(--rp-border-strong);
		color: var(--rp-text);
		padding: 6px 14px;
		border-radius: var(--rp-radius-sm);
		font-size: 13px;
		cursor: pointer;
		transition: all .3s ease;
	}
	.topic-btn:hover { border-color: var(--page-blog-analyze-naver-mate-color-003); background: var(--rp-surface); }
	.topic-btn.active { border-color: var(--page-blog-analyze-naver-mate-color-003); background: var(--rp-surface); color: var(--page-blog-analyze-naver-mate-color-003); font-weight: 600; }
	.topic-btn.topic-btn-all { border-color: var(--page-blog-analyze-naver-mate-color-003); font-weight: 600; }
	.topic-btn.topic-btn-all.active { background: var(--page-blog-analyze-naver-mate-color-003); color: var(--rp-chrome-title); }
	#previewLockArea { position: relative; }
	#previewLockArea.sample-preview-active { min-height: 420px; }
	#previewLockArea.sample-preview-active .nm-table-wrap table tbody tr,
	#previewLockArea.sample-preview-active .topic-grid,
	#previewLockArea.sample-preview-active .topic-data-note {
		filter: blur(2.5px);
		opacity: .55;
		pointer-events: none;
		user-select: none;
	}
	#blurOverlay {
		position: absolute;
		left: 0; right: 0; bottom: 0;
		min-height: 240px;
		padding: 32px 20px 0;
		background: linear-gradient(to bottom, color-mix(in srgb, var(--rp-chrome) 0%, transparent) 0%, color-mix(in srgb, var(--rp-chrome) 72%, transparent) 38%, var(--rp-chrome-elevated) 100%);
		display: none;
		align-items: flex-end;
		justify-content: center;
		z-index: 10;
		pointer-events: none;
		box-sizing: border-box;
	}
	#blurOverlay.show { display: flex; }
	#blurOverlay .preview-cta-box {
		background: var(--rp-surface);
		border: 1px solid var(--rp-border-strong);
		color: var(--rp-text);
		padding: 20px 22px;
		border-radius: var(--rp-radius);
		text-align: left;
		width: 100%;
		max-width: 480px;
		pointer-events: auto;
		box-shadow: var(--rp-shadow-sm);
	}
	#blurOverlay .preview-cta-badge {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		margin: 0 0 10px;
		padding: 4px 10px;
		border-radius: var(--page-blog-analyze-naver-mate-radius-015);
		background: var(--rp-surface);
		color: var(--rp-text-muted);
		font-size: 11px;
		font-weight: 600;
		letter-spacing: .02em;
	}
	#blurOverlay .preview-cta-box h3 {
		margin: 0 0 6px;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.45;
		color: var(--rp-text);
	}
	#blurOverlay .preview-cta-box p {
		margin: 0 0 16px;
		font-size: 13px;
		line-height: 1.55;
		color: var(--rp-text-muted);
	}
	#blurOverlay .preview-cta-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		background: var(--rp-primary);
		color: var(--rp-chrome-title);
		padding: 10px 18px;
		border-radius: var(--rp-radius-sm);
		text-decoration: none;
		font-size: 14px;
		font-weight: 600;
		transition: background .15s ease;
	}
	#blurOverlay .preview-cta-btn:hover { background: var(--rp-primary); color: var(--rp-chrome-title); }

	.nm-report {
background: transparent;
		border-radius: var(--rp-radius-sm);
		padding: 0;
		margin-bottom: 20px;
	}
	.nm-report .nm-cards {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		gap: 10px;
		margin-bottom: 20px;
	}
	.nm-report .nm-card {
		background: var(--rp-surface);
		border-radius: var(--rp-radius-sm);
		padding: 18px 20px;
		border: 2px solid var(--rp-border-strong);
		box-shadow: var(--rp-shadow-sm);
	}
	.nm-report .nm-card .label { color: var(--rp-text); font-size: .85rem; margin-bottom: 6px; }
	.nm-report .nm-card .value { font-size: 1.6rem; font-weight: 700; color: var(--page-blog-analyze-naver-mate-color-003); }
	.nm-report .nm-section {
		background: var(--rp-surface);
		border-radius: var(--rp-radius-sm);
		padding: 20px;
		border: none;
		box-shadow: var(--rp-shadow-sm);
	}
	.nm-report .nm-section h2 {
		font-size: 1.1rem;
		margin-bottom: 16px;
		padding-bottom: 10px;
		border-bottom: 2px solid var(--page-blog-analyze-naver-mate-color-003);
		color: var(--rp-text);
		font-weight: 600;
	}
	.nm-report .nm-note { color: var(--rp-text); font-size: .9rem; margin-bottom: 12px; }
	.nm-report .nm-empty { color: var(--rp-text-muted); font-style: italic; padding: 20px 0; text-align: center; }
	.nm-table-wrap { overflow-x: auto; }
	.nm-report table { width: 100%; border-collapse: collapse; font-size: .9rem; color: var(--rp-text); }
	.nm-report th, .nm-report td {
		padding: 10px 12px;
		text-align: left;
		border-bottom: 1px solid var(--rp-border-strong);
	}
	.nm-report th {
		background: var(--rp-surface);
		font-weight: 600;
		color: var(--rp-text);
		font-size: .8rem;
	}
	.nm-report tr:hover td { background: var(--rp-surface); }
	.nm-report td.num, .nm-report th.num { text-align: right; font-variant-numeric: tabular-nums; }
	.nm-report td.center, .nm-report th.center { text-align: center; }
	.nm-report td.title {
		max-width: 280px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		color: var(--rp-text);
	}
	.nm-report .badge {
		display: inline-block;
		padding: 2px 8px;
		border-radius: var(--rp-radius-sm);
		font-size: .75rem;
		font-weight: 600;
		color: var(--rp-chrome-title);
	}
	.nm-report .badge.blog { background: var(--page-blog-analyze-naver-mate-brand-naver); }
	.nm-report .badge.cafe { background: var(--page-blog-analyze-naver-mate-brand-cafe); }
	.nm-report a.link-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		border-radius: var(--page-blog-analyze-naver-mate-radius-016);
		text-decoration: none;
		transition: transform .15s, background .15s;
	}
	.nm-report a.link-icon:hover { transform: scale(1.1); text-decoration: none; }
	.nm-report a.link-channel { color: var(--rp-success); background: var(--page-blog-analyze-naver-mate-color-008); }
	.nm-report a.link-channel:hover { background: var(--page-blog-analyze-naver-mate-color-009); color: var(--page-blog-analyze-naver-mate-color-010); }
	.nm-report a.link-content { color: var(--page-blog-analyze-naver-mate-link-content); background: var(--page-blog-analyze-naver-mate-color-011); }
	.nm-report a.link-content:hover { background: var(--page-blog-analyze-naver-mate-color-012); color: var(--page-blog-analyze-naver-mate-blue-013); }
	@media (max-width: 768px) {
		.category-grid { grid-template-columns: 1fr; }
		.category-item { padding: 8px 12px; font-size: 13px; }
		.nm-report .nm-section { padding: 16px; }
		.nm-report table { font-size: .8rem; }
		.nm-report th, .nm-report td { padding: 8px; }
	}
	#resultContainer{
		padding: 0px; 
	}
	.topic-pager-bar {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin-top: 16px;
		padding-top: 14px;
		border-top: 1px solid var(--rp-border-strong);
	}
	.topic-load-more-btn {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		background: var(--page-blog-analyze-naver-mate-color-003);
		color: var(--rp-chrome-title);
		border: none;
		border-radius: var(--rp-radius-sm);
		padding: 10px 16px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: background .15s ease;
	}
	.topic-load-more-btn:hover:not(:disabled) { background: var(--page-blog-analyze-naver-mate-color-014); }
	.topic-load-more-btn:disabled {
		opacity: .65;
		cursor: not-allowed;
	}
	.topic-pager-done { margin-top: 14px; text-align: center; }

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-naver-mate-u001 { margin-left:20px; }

#subscriptionStatus.is-success { color: var(--rp-success); }
#subscriptionStatus.is-error { color: var(--rp-danger); }
.nm-content-wrap { background: var(--rp-surface); }
}

/* 블로그 순위 */
@scope (.blog-page--ranking) {
:scope {
}

/* blog/analyze/ranking/index 전용 스타일 */
}

/* 순위 결과 */
@scope (.blog-page--ranking) {
:scope {
  --page-b-ranking-style-color-001: #f093fb;
  --page-b-ranking-style-radius-002: 50%;
}



/* ===========================
   로딩 표시
   =========================== */

.loading-indicator {
    text-align: center;
    padding: 40px;
    margin-top: 30px;
}

.spinner {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    border: 5px solid var(--rp-border);
    border-top: 5px solid var(--rp-primary);
    border-radius: var(--page-b-ranking-style-radius-002);
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-indicator p {
    font-size: 1.2rem;
    color: var(--rp-primary);
    font-weight: 600;
    margin-bottom: 10px;
}

.progress-text {
    font-size: 0.9rem;
    color: var(--rp-text-muted);
    margin-top: 10px;
}

/* ===========================
   결과 섹션
   =========================== */

.result-section {
    margin-top: 40px;
}

.result-card {
    max-width: 800px;
    margin: 0 auto;
    border-radius: var(--rp-radius);
    overflow: hidden;
    box-shadow: var(--rp-shadow);
    animation: slideIn 0.5s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.result-header {
    padding: 20px 30px;
    color: var(--rp-chrome-title);
}

.result-header h3 {
    font-size: 1.5rem;
    font-weight: 700;
}

.success-card .result-header {
    background: linear-gradient(135deg, var(--rp-primary) 0%, var(--rp-danger) 100%);
}

.failure-card .result-header {
    background: linear-gradient(135deg, var(--page-b-ranking-style-color-001) 0%, var(--rp-danger) 100%);
}

.error-card .result-header {
    background: linear-gradient(135deg, var(--rp-warning) 0%, var(--rp-warning) 100%);
}

.result-body {
    padding: 30px;
    background: var(--rp-surface);
}

.result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid var(--rp-border);
}

.result-item:last-child {
    border-bottom: none;
}

.result-item.highlight {
    background: linear-gradient(90deg, color-mix(in srgb, var(--rp-accent) 5%, transparent) 0%, color-mix(in srgb, var(--rp-primary) 5%, transparent) 100%);
    padding: 20px;
    margin: 10px -10px;
    border-radius: var(--rp-radius-sm);
    border: none;
}

.label {
    font-weight: 600;
    color: var(--rp-text-muted);
    font-size: 1rem;
}

.value {
    font-weight: 500;
    color: var(--rp-text);
    font-size: 1rem;
}

.rank-value {
    font-size: 1.8rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--rp-primary) 0%, var(--rp-danger) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.result-divider {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--rp-primary) 50%, transparent 100%);
    margin: 20px 0;
}

.evaluation-box {
    margin-top: 20px;
    padding: 20px;
    background: var(--rp-primary-soft);
    border-radius: var(--rp-radius-sm);
    border-left: 4px solid var(--rp-primary);
}

.evaluation-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--rp-primary);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.evaluation-text {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--rp-text);
}

.failure-message,
.error-message {
    text-align: center;
    padding: 30px;
    font-size: 1.2rem;
    color: var(--rp-text-muted);
}

.failure-message p,
.error-message p {
    margin: 10px 0;
}

/* ===========================
   안내 섹션
   =========================== */

.info-section {
    margin-top: 40px;
    padding: 30px;
    background: var(--rp-surface);
    border: 1px solid var(--rp-border);
    border-left: 4px solid var(--rp-primary);
    border-radius: var(--rp-radius);
    box-shadow: var(--rp-shadow-sm);
}

.info-section h3 {
    font-size: 1.5rem;
    color: var(--rp-text);
    margin-bottom: 20px;
}

.info-section ul {
    list-style: none;
    padding-left: 0;
}

.info-section ul li {
    padding: 10px 0;
    padding-left: 25px;
    position: relative;
    line-height: 1.6;
    color: var(--rp-text-muted);
}

.info-section ul li::before {
    content: "▸";
    position: absolute;
    left: 0;
    color: var(--rp-primary);
    font-weight: bold;
}

.info-section ul ul {
    margin-top: 10px;
    padding-left: 20px;
}

.info-section strong {
    color: var(--rp-text);
}

.info-section code {
    background: var(--rp-surface-alt);
    padding: 2px 8px;
    border-radius: var(--rp-radius-sm);
    font-family: 'Courier New', monospace;
    color: var(--rp-primary);
    font-weight: 600;
}

/* ===========================
   푸터
   =========================== */

.footer {
    text-align: center;
    padding: 20px;
    color: var(--rp-text-muted);
    font-size: 0.9rem;
}

/* ===========================
   반응형 디자인
   =========================== */

@media (max-width: 768px) {
    .container {
        padding: 10px;
    }

    .header {
        padding: 20px;
        margin-bottom: 20px;
    }

    .logo h1 {
        font-size: 1.8rem;
    }

    .main-content {
        padding: 20px;
    }

    .page-title h2 {
        font-size: 1.5rem;
    }

    .search-box {
        padding: 20px;
    }

    .button-group {
        flex-direction: column;
    }

    .btn {
        width: 100%;
        font-size: 1rem;
    }

    .result-body {
        padding: 20px;
    }

    .result-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .rank-value {
        font-size: 1.5rem;
    }

    .info-section {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .logo h1 {
        font-size: 1.5rem;
    }

    .page-title h2 {
        font-size: 1.3rem;
    }

    .input-field {
        padding: 12px 15px;
        font-size: 0.9rem;
    }

    .btn {
        padding: 12px 20px;
        font-size: 0.95rem;
    }
}
}

/* 플레이스 트렌드 */
@scope (.blog-page--place-trend) {
:scope {
  --page-blog-analyze-place-trend-color-001: #03C75A;
  --page-blog-analyze-place-trend-color-002: #E7B83F;
  --page-blog-analyze-place-trend-color-003: #C7CAD1;
  --page-blog-analyze-place-trend-color-004: #C08457;
  --page-blog-analyze-place-trend-color-005: rgba(3,199,90,.55);
  --page-blog-analyze-place-trend-color-006: rgba(90,168,255,.55);
  --page-blog-analyze-place-trend-color-007: rgba(255,166,77,.55);
  --page-blog-analyze-place-trend-color-008: #ff8a8a;
  --page-blog-analyze-place-trend-radius-009: 0;
  --page-blog-analyze-place-trend-radius-010: 3px;
  --page-blog-analyze-place-trend-color-extra-01: #F66;
  --page-blog-analyze-place-trend-color-extra-02: #5AA8FF;
  --page-blog-analyze-place-trend-color-extra-03: #FFA64D;
}

/* blog/analyze/place-trend/index 전용 스타일 */
/* 네이티브 한국 스타일 (네이버 플레이스 톤) · 다크 · 브랜드 #03C75A */
.place-trend-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.place-trend-select{width:100%;height:46px;padding:0 12px;border:1px solid var(--rp-border);border-radius:var(--rp-radius-sm);background:var(--rp-surface);color:var(--rp-text);font-size:14px;outline:none;transition:border-color .15s}
.place-trend-select:focus{border-color:var(--page-blog-analyze-place-trend-color-001)}
.place-trend-actions{grid-column:1/-1;display:flex;justify-content:center;margin-top:4px}

/* 필터 바 — 언더라인 탭 */
.place-filter-bar{display:flex;gap:0;overflow-x:auto;margin-bottom:6px;border-bottom:1px solid var(--rp-border);padding:0}
.place-filter-btn{flex:0 0 auto;border:none;background:transparent;color: var(--rp-text);padding:10px 14px;cursor:pointer;font-weight:600;font-size:13.5px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s;letter-spacing:-.2px}
.place-filter-btn:hover{color:var(--rp-text)}
.place-filter-btn.active{color:var(--page-blog-analyze-place-trend-color-001);border-bottom-color:var(--page-blog-analyze-place-trend-color-001)}

/* 그룹 타이틀 */
.place-group-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 4px;color:var(--rp-text);font-size:13.5px;font-weight:700;letter-spacing:-.3px}
.place-group-title .rank-total{color: var(--rp-text);font-size:11.5px;font-weight:500}

/* 카드 — 평면, 수평 디바이더 */
.place-card{background:transparent;border:none;border-bottom:1px solid var(--rp-border);border-radius:var(--page-blog-analyze-place-trend-radius-009);margin:0;overflow:visible}
.place-card-head{display:flex;gap:12px;align-items:center;padding:12px 2px;cursor:pointer;transition:background .12s}
.place-card-head:hover{background: var(--rp-surface-hover)}

/* 순위 배지 — 단색 */
.place-rank-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;width:44px}
.place-rank{width:36px;height:36px;border-radius:var(--rp-radius-sm);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:var(--rp-text);background:var(--rp-surface-alt);border:none;box-shadow:none;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.place-rank.rank-1{background:var(--page-blog-analyze-place-trend-color-002);color:var(--rp-chrome)}
.place-rank.rank-2{background:var(--page-blog-analyze-place-trend-color-003);color:var(--rp-chrome)}
.place-rank.rank-3{background:var(--page-blog-analyze-place-trend-color-004);color:var(--rp-chrome)}

/* 등락 — 배경 없이 텍스트만 */
.place-rank-change{font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;padding:0;border:none;background:transparent;letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.place-rank-change.up{color:var(--page-blog-analyze-place-trend-color-extra-01)}
.place-rank-change.down{color:var(--page-blog-analyze-place-trend-color-extra-02)}
.place-rank-change.same{color: var(--rp-text)}
.place-rank-change.new{color:var(--page-blog-analyze-place-trend-color-001)}

/* 플레이스 정보 */
.place-info{min-width:0;flex:1}
.place-name{color:var(--rp-text);font-size:14.5px;font-weight:700;line-height:1.4;letter-spacing:-.3px}
.place-meta{margin-top:3px;color: var(--rp-text);font-size:12px;line-height:1.5;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.place-volume,.keyword-volume{margin-left:4px;color: var(--rp-text);font-size:11px;font-weight:400}
.place-cat{display:inline-block;padding:1px 7px;border-radius:var(--page-blog-analyze-place-trend-radius-010);color: var(--rp-text);background: var(--rp-surface-alt);border:1px solid var(--rp-border);font-size:11px;font-weight:500;letter-spacing:-.2px}
.place-toggle{color: var(--rp-text);font-size:16px;font-weight:400;width:20px;text-align:center;flex-shrink:0}

/* 키워드 패널 */
.keyword-panel{display:none;padding:0 2px 14px 58px}
.keyword-panel.open{display:block}
.keyword-group{margin-top:12px;padding-left:10px;border-left:3px solid var(--rp-border)}
.keyword-group.kw-autocomplete{border-left-color:var(--page-blog-analyze-place-trend-color-001)}
.keyword-group.kw-related{border-left-color:var(--page-blog-analyze-place-trend-color-extra-02)}
.keyword-group.kw-together{border-left-color:var(--page-blog-analyze-place-trend-color-extra-03)}
.keyword-label{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;margin-bottom:7px;letter-spacing:-.2px;color: var(--rp-text)}
.keyword-group.kw-autocomplete .keyword-label{color:var(--page-blog-analyze-place-trend-color-001)}
.keyword-group.kw-related .keyword-label{color:var(--page-blog-analyze-place-trend-color-extra-02)}
.keyword-group.kw-together .keyword-label{color:var(--page-blog-analyze-place-trend-color-extra-03)}
.keyword-count{color: var(--rp-text);font-weight:500;font-variant-numeric:tabular-nums}
.keyword-tags{display:flex;flex-wrap:wrap;gap:5px}
.keyword-tag{border:1px solid var(--rp-border);border-radius:var(--rp-radius-sm);padding:4px 8px;color: var(--rp-text);background:transparent;font-size:12px;font-weight:500;cursor:pointer;transition:color .12s,border-color .12s,background .12s}
.keyword-tag:hover{background: var(--rp-surface-hover)}
.kw-autocomplete .keyword-tag:hover{border-color:var(--page-blog-analyze-place-trend-color-005);background:color-mix(in srgb, var(--page-blog-analyze-place-trend-color-001) 8%, transparent)}
.kw-related .keyword-tag:hover{border-color:var(--page-blog-analyze-place-trend-color-006);background:color-mix(in srgb, var(--page-blog-analyze-place-trend-keyword-related) 8%, transparent)}
.kw-together .keyword-tag:hover{border-color:var(--page-blog-analyze-place-trend-color-007);background:color-mix(in srgb, var(--page-blog-analyze-place-trend-keyword-together) 8%, transparent)}
.keyword-tag .keyword-volume{color: var(--rp-text)}

/* 에러 */
.place-error{padding:14px 16px;border-radius:var(--rp-radius-sm);background:color-mix(in srgb, var(--rp-danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--rp-danger) 25%, transparent);color:var(--page-blog-analyze-place-trend-color-008);font-size:13px}
.keyword-empty{color: var(--rp-text);font-size:12px;padding-top:8px}

/* 하단 토스트 */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(12px);padding:10px 18px;background:color-mix(in srgb, var(--rp-chrome) 96%, transparent);color: var(--rp-chrome-title);border:1px solid var(--rp-border);border-radius:var(--rp-radius-sm);font-size:13px;font-weight:500;letter-spacing:-.2px;box-shadow:var(--rp-shadow-sm);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:9999;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* 샘플 고지 — 좌측 네이버그린 바 */
.place-sample-notice{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:14px 0;border-radius:var(--rp-radius-sm);background:var(--rp-surface);border:1px solid var(--rp-border);border-left:3px solid var(--page-blog-analyze-place-trend-color-001);color: var(--rp-text);font-size:12.5px;line-height:1.5}
.place-sample-notice i{font-size:13px;color:var(--page-blog-analyze-place-trend-color-001)}
.place-sample-notice strong{color:var(--rp-text);font-weight:700;margin-right:4px}

@media(max-width:720px){
	.place-trend-form{grid-template-columns:1fr}
	.keyword-panel{padding-left:48px}
	.place-rank-wrap{width:40px}
	.place-rank{width:32px;height:32px;font-size:14px;border-radius:var(--rp-radius-sm)}
}

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-place-trend-u001 { margin-top:16px; }
}

/* 통합검색 순위 / 통합검색 결과 */
@scope (.blog-page--place-trend, .blog-page--int-rank) {
/* 공통 변수/컴포넌트는 analyze.css에서 관리 */

.rpt_cont { display: none; width: 100%; margin-bottom: 24px; padding: 20px; }

.basic-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.info-card { background: var(--rp-surface); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); padding: 18px; text-align: center; box-shadow: var(--rp-shadow-sm); }
.info-card-label { font-size: 0.8rem; color: var(--rp-text-muted); margin-bottom: 8px; }
.info-card-value, .info-card-value-large { font-size: 1.25rem; font-weight: 700; color: var(--rp-text); }
.info-card-value-purple { color: var(--rp-accent); }
.info-card-value-blue { color: var(--blue); }
.info-card-value-orange { color: var(--rp-warning); }


.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; }
.stat-grid:has(.stat-view) { grid-template-columns: repeat(4, 1fr); }
.stat-card { background: var(--rp-surface); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); padding: 16px 12px; text-align: center; transition: transform 0.2s, border-color 0.2s; box-shadow: var(--rp-shadow-sm); }
.stat-card:hover { transform: translateY(-2px); border-color: var(--rp-border-strong); }
.stat-card.stat-highlight { background: linear-gradient(135deg, rgba(233,30,140,.15), rgba(155,89,232,.1)); border-color: rgba(233,30,140,.35); }
.stat-card.stat-view { background: linear-gradient(135deg, rgba(79,172,254,.15), rgba(155,89,232,.1)); border-color: rgba(79,172,254,.35); }
.stat-card .stat-icon { font-size: 1.3rem; margin-bottom: 6px; }
.stat-card .stat-val { font-size: 1.35rem; font-weight: 800; color: var(--rp-text); margin-bottom: 4px; }
.stat-card .stat-lbl { font-size: 0.7rem; color: var(--rp-text-muted); letter-spacing: 0.04em; }

#sectionTable { width: 100%; border-collapse: collapse; min-width: 360px; }
#sectionTable th { padding: 11px 14px; text-align: left; font-size: 0.75rem; font-weight: 600; color: var(--rp-text-muted); background: var(--rp-surface-alt); border-bottom: 1px solid var(--rp-border); }
#sectionTable td { padding: 12px 14px; font-size: 0.85rem; border-bottom: 1px solid var(--rp-border); vertical-align: middle; color: var(--rp-text-muted); }
#sectionTable tr:last-child td { border-bottom: none; }
#sectionTable tr:hover td { background: var(--rp-surface-hover); }
.sec-num { color: var(--rp-text-muted); width: 36px; font-size: 0.78rem; }
.sec-name { font-weight: 500; color: var(--rp-text); }
.sec-total { color: var(--rp-text-muted); text-align: center; white-space: nowrap; }
.rank-cell { text-align: right; white-space: nowrap; }
.rank-badge { display: inline-block; padding: 4px 10px; border-radius: 20px; font-size: 0.78rem; font-weight: 700; }
.rank-badge.found { background: linear-gradient(135deg, rgba(0,230,118,.25), rgba(0,200,83,.15)); border: 1px solid rgba(0,230,118,.45); color: #00e676; }
.rank-badge.miss { background: var(--rp-surface-alt); border: 1px solid var(--rp-border); color: var(--rp-text-muted); }
.rank-badge.view-rank { background: linear-gradient(135deg, rgba(79,172,254,.25), rgba(155,89,232,.2)); border: 1px solid rgba(79,172,254,.45); color: var(--blue); }
.rank-total { font-size: 0.75rem; color: var(--rp-text-muted); margin-left: 4px; }
.found-row td { background: rgba(0,230,118,.04); }
.view-sum-row td { background: rgba(79,172,254,.06); font-weight: 600; }
.sum-badge { display: inline-block; font-size: 0.68rem; font-weight: 600; padding: 2px 7px; border-radius: 10px; background: rgba(79,172,254,.15); color: var(--blue); border: 1px solid rgba(79,172,254,.3); margin-left: 6px; vertical-align: middle; }

.detail-card { background: var(--rp-surface); border: 1px solid var(--rp-border); border-radius: var(--rp-radius); overflow: hidden; margin-bottom: 12px; box-shadow: var(--rp-shadow-sm); }
.detail-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--rp-border); background: var(--rp-surface-alt); }
.detail-sec { font-weight: 700; font-size: 0.88rem; color: var(--rp-text); }
.detail-rank-badge { font-size: 0.75rem; font-weight: 700; padding: 4px 12px; border-radius: 20px; background: linear-gradient(135deg, var(--rp-primary), var(--rp-accent)); color: var(--rp-chrome-title); white-space: nowrap; }
.entry-table { width: 100%; border-collapse: collapse; }
.entry-table th { font-size: 0.72rem; padding: 10px 14px; text-align: left; background: var(--rp-surface-alt); border-bottom: 1px solid var(--rp-border); color: var(--rp-text-muted); }
.entry-table td { padding: 11px 14px; font-size: 0.85rem; border-bottom: 1px solid var(--rp-border); color: var(--rp-text-muted); }
.e-rank { text-align: center; width: 50px; }
.rank-num { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-size: 0.8rem; font-weight: 700; background: var(--rp-surface-alt); color: var(--rp-text-muted); border: 1px solid var(--rp-border); }
.rank-num.rank-me { background: linear-gradient(135deg, var(--rp-primary), var(--rp-accent)); color: var(--rp-chrome-title); border: none; }
.entry-me td { background: rgba(233,30,140,.08); }
.tag { display: inline-block; font-size: 0.72rem; font-weight: 600; border-radius: 6px; padding: 3px 8px; white-space: nowrap; }
.tag-blog { background: rgba(79,172,254,.15); color: var(--blue); border: 1px solid rgba(79,172,254,.3); }
.tag-cafe { background: rgba(255,152,0,.15); color: var(--rp-warning); border: 1px solid rgba(255,152,0,.3); }
.tag-inf { background: rgba(155,89,232,.2); color: var(--rp-accent); border: 1px solid rgba(155,89,232,.35); }
.me-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 10px; font-size: 0.7rem; font-weight: 700; background: linear-gradient(90deg, var(--rp-primary), var(--rp-accent)); color: var(--rp-chrome-title); vertical-align: middle; }
.e-id a { color: var(--blue); text-decoration: none; }
.e-id a:hover { color: var(--rp-primary-hover); text-decoration: underline; }
.e-id a.e-id-external { display: inline-flex; align-items: center; justify-content: center; margin-left: 6px; padding: 2px 4px; vertical-align: middle; font-size: 0.72rem; color: var(--rp-text-muted); text-decoration: none !important; line-height: 1; }
.e-id a.e-id-external:hover { color: var(--blue); }

@media (max-width: 600px) { .basic-info-grid { grid-template-columns: 1fr; } .stat-grid { grid-template-columns: repeat(2, 1fr); } }

/* 저장/내역 버튼 */
#saveResultBtn {
	padding: 14px 30px;
	background: linear-gradient(135deg, var(--rp-success), var(--rp-success));
	color: var(--white);
	border: none;
	border-radius: var(--rp-radius-sm);
	font-size: 16px;
	cursor: pointer;
	transition: opacity 0.2s;
	height: 45px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	opacity: 1;
	font-weight: var(--fw-600);
	box-shadow: var(--rp-shadow-sm);
}
#saveResultBtn:hover { opacity: 0.9; }
#saveResultBtn:disabled { opacity: 0.6; cursor: not-allowed; }

@media print {
	.search-container, #submitBtn, #loadingSection { display: none !important; }
	.rpt_cont { display: block !important; }
	body, #report_cont { background: #fff !important; color: #222 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.info-card, .stat-card, .section-card, .detail-card { background: #fff !important; border: 1px solid #ccc !important; }
	.status-banner.status-found { background: #e8f5e9 !important; border: 1px solid #4caf50 !important; color: #2e7d32 !important; }
	.status-banner.status-miss { background: #ffebee !important; border: 1px solid #f44336 !important; color: #c62828 !important; }
	.status-banner strong { color: #222 !important; }
	.section-title, .place-keyword, .place-target, .detail-sec, .sec-name { color: #222 !important; }
	.info-card-label, .info-card-value, .info-card-value-large, .stat-val, .stat-lbl, .card-head, .detail-rank-badge { color: #333 !important; }
	#sectionTable th, #sectionTable td, .entry-table th, .entry-table td { border: 1px solid #ccc !important; color: #333 !important; background: #fff !important; }
	#sectionTable th { background: #f5f5f5 !important; }
	.entry-table th { background: #f5f5f5 !important; }
	.rank-badge.found { background: #e8f5e9 !important; border-color: #4caf50 !important; color: #2e7d32 !important; }
	.rank-badge.miss { background: #f5f5f5 !important; border-color: #999 !important; color: #666 !important; }
	.rank-badge.view-rank { background: #e3f2fd !important; border-color: #2196f3 !important; color: #1565c0 !important; }
	.tag-blog { background: #e3f2fd !important; border-color: #2196f3 !important; color: #1565c0 !important; }
	.tag-cafe { background: #fff3e0 !important; border-color: #ff9800 !important; color: #e65100 !important; }
	.tag-inf { background: #f3e5f5 !important; border-color: #9c27b0 !important; color: #7b1fa2 !important; }
	.e-id a { color: #1565c0 !important; }
	.found-row td, .view-sum-row td, .entry-me td { background: #fafafa !important; }
	.detail-header { background: #f5f5f5 !important; border-bottom: 1px solid #ccc !important; }
	.card-head { border-bottom: 1px solid #ccc !important; }
	.example-badge { background: #999 !important; color: #fff !important; }
}

/* 스마트블록 태그 */
.smart-tag { display: inline-block; font-size: .6rem; font-weight: 700; color: var(--rp-chrome-title); background: #ff9800; border-radius: var(--rp-radius-sm); padding: 0 3px; vertical-align: middle; line-height: 1.4; }

/* assets/js/int_rank_script.js 템플릿에서 추출한 프레젠테이션 규칙 */
.int-rank-js-u001 { color:#888;text-align:center;padding:20px; }
.int-rank-js-u002 { text-align:center;padding:20px; }
.int-rank-js-u003 { text-align:center;padding:20px;color:var(--rp-text-muted); }
.int-rank-js-u004 { font-weight:600;color:var(--rp-text); }
.int-rank-js-u005 { color:var(--rp-text-muted); }
.int-rank-js-u006 { white-space:nowrap; }
.int-rank-js-u007 { text-align:center;padding:20px;color:#e53935; }
}

/* 키워드 챌린지 */
@scope (.blog-page--kc) {
:scope {
}

/* blog/analyze/kc/index 전용 스타일 */

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-kc-u001 { margin-bottom:0; }
.blog-analyze-kc-u002 { margin:0; }
.blog-analyze-kc-u003 { width:140px; }
.blog-analyze-kc-u004 { width:180px; }
.blog-analyze-kc-u005 { width:150px; }
.blog-analyze-kc-u006 { text-align:center;padding:20px; }

/* 인플루언서 키워드 챌린지 */
/* 공통 변수/컴포넌트는 analyze.css에서 관리 */

#report_cont .rpt_cont { display: none; margin-bottom: 24px; width: 100%; }
#report_cont #kcLandingHint.rpt_cont { display: block; }

.kc-header { background: linear-gradient(135deg, color-mix(in srgb, var(--purple) 18%, transparent), color-mix(in srgb, var(--blue) 12%, transparent)); border: 1px solid color-mix(in srgb, var(--purple) 30%, transparent); border-radius: var(--rp-radius); padding: 22px; box-shadow: var(--rp-shadow-sm); }
.kc-header-inner { display: flex; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.kc-header-avatar { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--pink), var(--purple)); display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 800; color: var(--rp-chrome-title); flex-shrink: 0; overflow: hidden; }
.kc-header-avatar img { width: 100%; height: 100%; object-fit: cover; }
.kc-header-info h2 { margin: 0 0 4px; font-size: 1.35rem; color: var(--text); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.kc-inf-type { font-size: 0.72rem; padding: 3px 10px; border-radius: 20px; background: rgba(155,89,232,.25); color: #c084fc; border: 1px solid rgba(155,89,232,.35); }
.kc-inf-id { font-size: 0.85rem; color: var(--text2); }
.kc-inf-id a { color: var(--blue); text-decoration: none; }
.kc-inf-stats { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; font-size: 0.85rem; color: var(--text2); }
.kc-cats { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.kc-cat-chip { padding: 3px 10px; border-radius: 20px; font-size: 0.74rem; border: 1px solid var(--border); color: var(--text2); }
.kc-cat-chip.primary { background: linear-gradient(135deg, color-mix(in srgb, var(--pink) 18%, transparent), color-mix(in srgb, var(--purple) 18%, transparent)); color: var(--text); border-color: color-mix(in srgb, var(--pink) 35%, transparent); }

.kc-desc {
	margin-top: 10px;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--text);
	word-break: break-word;
}

.kc-header-meta {
	flex: 1 1 200px;
	min-width: 0;
	align-self: flex-start;
	padding-top: 4px;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--text);
	word-break: break-word;
}

.kc-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 12px; }
.kc-stat-grid > .kc-stat-card { min-width: 0; }
.kc-stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--rp-radius); padding: 14px; box-shadow: var(--rp-shadow-sm); }
.kc-stat-label { font-size: 0.72rem; color: var(--text3); margin-bottom: 6px; }
.kc-stat-value { font-size: 1.5rem; font-weight: 800; color: var(--text); }
.kc-stat-sub { font-size: 0.72rem; color: var(--text3); margin-top: 4px; }
.val-green { color: var(--green); } .val-yellow { color: var(--yellow); } .val-accent { color: var(--blue); }

.kc-top-keywords { display: flex; flex-wrap: wrap; gap: 8px; }
.kc-top-kw-chip { padding: 6px 14px; border-radius: 20px; background: rgba(0,230,118,.12); border: 1px solid rgba(0,230,118,.35); color: var(--green); font-size: 0.82rem; font-weight: 600; }

.kc-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; }
.kc-toolbar.kc-toolbar-cat { align-items: center; }
.kc-toolbar.kc-toolbar-cat .kc-cat-toolbar-title {
	margin: 0;
	flex: 0 0 auto;
	font-size: 1.1rem;
	gap: 8px;
}
.kc-toolbar.kc-toolbar-cat .kc-cat-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
}
.kc-search-box { flex: 1 1 200px; min-width: 180px; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 9px 16px; color: var(--text); outline: none; }
.kc-search-box:focus { border-color: var(--rp-primary); box-shadow: var(--rp-input-shadow); }
.kc-filter-btn { padding: 7px 14px; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); color: var(--text2); font-size: 0.78rem; cursor: pointer; }
.kc-filter-btn.active { background: linear-gradient(135deg, var(--pink), var(--purple)); color: var(--rp-chrome-title); border-color: transparent; }

#kcTable { width: 100%; border-collapse: collapse; min-width: 680px; }
#kcTable th { padding: 10px 14px; text-align: left; font-size: 0.75rem; color: var(--text3); background: var(--rp-surface-alt); border-bottom: 1px solid var(--border); cursor: pointer; }
#kcTable td { padding: 11px 14px; font-size: 0.84rem; color: var(--text2); border-bottom: 1px solid var(--rp-border); vertical-align: middle; }
#kcTable tbody tr:hover td { background: var(--rp-surface-hover); }
#kcTable tbody tr.hidden { display: none; }
#kcTable tr.grade-top td:first-child { box-shadow: inset 3px 0 0 var(--green); }
#kcTable tr.not-participated-row td:first-child { box-shadow: inset 3px 0 0 var(--text3); opacity: 0.88; }
.kc-keyword-hash { color: var(--pink); font-weight: 700; }
.kc-keyword-link { color: var(--text); text-decoration: none; }
.kc-keyword-link:hover { color: var(--pink); text-decoration: underline; }
.badge { display: inline-flex; padding: 3px 10px; border-radius: 20px; font-size: 0.72rem; font-weight: 700; }
.badge-gold { background: rgba(255,213,79,.22); color: var(--gold); border: 1px solid rgba(255,213,79,.45); }
.badge-silver { background: rgba(207,216,220,.18); color: var(--silver); border: 1px solid rgba(207,216,220,.35); }
.badge-bronze { background: rgba(212,144,96,.22); color: var(--bronze); border: 1px solid rgba(212,144,96,.45); }
.badge-default { background: rgba(79,172,254,.15); color: var(--blue); border: 1px solid rgba(79,172,254,.35); }
.badge-gray { background: var(--rp-surface-alt); color: var(--text3); border: 1px solid var(--border); }
.grade { display: inline-block; padding: 3px 10px; border-radius: 16px; font-size: 0.72rem; font-weight: 700; }
.grade-green { background: rgba(0,230,118,.15); color: var(--green); border: 1px solid rgba(0,230,118,.35); }
.grade-yellow { background: rgba(255,183,77,.12); color: var(--yellow); border: 1px solid rgba(255,183,77,.35); }
.grade-red { background: rgba(255,82,82,.12); color: #ff7070; border: 1px solid rgba(255,82,82,.35); }
.grade-gray { background: var(--rp-surface-alt); color: var(--text3); border: 1px solid var(--border); }
.grade-participated { background: linear-gradient(135deg, color-mix(in srgb, var(--pink) 22%, transparent), color-mix(in srgb, var(--purple) 22%, transparent)); color: var(--text); border: 1px solid color-mix(in srgb, var(--pink) 35%, transparent); }

.kc-detail-row { display: none; }
.kc-detail-row.open { display: table-row; }
.kc-detail-td { padding: 0 14px 12px !important; background: var(--rp-surface-alt); }
.kc-detail-inner { background: var(--surface2); border: 1px solid var(--border); border-radius: var(--rp-radius-sm); padding: 14px; font-size: 0.82rem; color: var(--text2); }
.kc-detail-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.kc-detail-meta strong { color: var(--text); margin-right: 4px; }
.kc-link { color: var(--blue); }
.kc-top3-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.kc-top3-card { border: 1px solid var(--border); border-radius: var(--rp-radius-sm); padding: 8px 12px; display: flex; align-items: center; gap: 8px; background: var(--surface); min-width: 160px; }
.kc-inf-sentinel td { pointer-events: none; }

.kc-h-view-btn { background: linear-gradient(135deg, var(--purple), var(--pink)); font-weight: 600; }

#submitBtn {
	padding: 14px 24px;
	background: linear-gradient(135deg, #0ea5e9, var(--purple));
	border: none;
	border-radius: var(--rp-radius-sm);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
#submitBtn:hover { opacity: 0.92; }
#submitBtn:disabled { opacity: 0.55; cursor: not-allowed; }
#resetBtn {
	padding: 14px 20px;
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--rp-radius-sm);
	font-size: 15px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
#resetBtn:hover { border-color: var(--blue);}

.kc-empty { text-align: center; padding: 40px; color: var(--text3); }

@media (max-width: 720px) {
	#kcTable .kc-hide-mobile, #kcTable thead .kc-hide-mobile { display: none; }
}

/* 키첼 데모 배지 (?kc_demo=1) */
.example-badge {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 600;
	color: var(--text2);
	background: var(--rp-surface-alt);
	border-radius: var(--rp-radius-sm);
	vertical-align: middle;
}

/* 테이블 아래 등급 범례 */
.kc-legend {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 22px;
	margin-top: 18px;
	padding: 14px 18px;
	background: linear-gradient(180deg, var(--rp-surface-alt), var(--rp-surface-hover));
	border: 1px solid var(--border);
	border-radius: var(--rp-radius);
	box-sizing: border-box;
}
.kc-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-wrap: nowrap;
}
.kc-legend .grade {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	flex-shrink: 0;
}
.kc-legend-desc {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--text);
	letter-spacing: -0.01em;
}
.kc-legend-note {
	flex: 1 1 100%;
	font-size: 0.74rem;
	line-height: 1.45;
	color: var(--text);
}

@media (max-width: 560px) {
	.kc-legend {
		gap: 10px 14px;
		padding: 12px 14px;
	}
	.kc-legend-item {
		flex: 1 1 calc(50% - 8px);
		min-width: 140px;
	}
}
}

/* 통합검색 분석 */
@scope (.blog-page--int-rank) {
:scope {
}

/* blog/analyze/int-rank/index 전용 스타일 */
.example-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:11px;background:var(--rp-surface-alt);color: var(--rp-text);border-radius:var(--rp-radius-sm);vertical-align:middle}

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-int-rank-u001 { text-align:center; }
.blog-analyze-int-rank-u002 { text-align:right; }
.blog-analyze-int-rank-u003 { width:120px; }
.blog-analyze-int-rank-u004 { width:100px; }
.blog-analyze-int-rank-u005 { width:70px; }
.blog-analyze-int-rank-u006 { width:110px; }
.blog-analyze-int-rank-u007 { text-align:center;padding:20px; }

/* 통합검색 결과 - int-rank 전용 (공통 스타일은 위 @scope에서 관리) */

/* 저장/내역 버튼 (int-rank 전용: place-trend와 색상 다름) */
#saveResultBtn {
	padding: 14px 30px;
	background: linear-gradient(135deg, var(--rp-success), var(--rp-success));
	color: var(--rp-text);
	border: none;
	border-radius: var(--rp-radius-sm);
	font-size: 16px;
	cursor: pointer;
	transition: opacity 0.2s;
	height: 45px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	opacity: 1;
	font-weight: var(--fw-600);
	box-shadow: var(--rp-shadow-sm);
}
#saveResultBtn:hover { opacity: 0.9; }
#saveResultBtn:disabled { opacity: 0.6; cursor: not-allowed; }

/* assets/js/int_rank_script.js 템플릿에서 추출한 프레젠테이션 규칙 */
.int-rank-js-u001 { color:#888;text-align:center;padding:20px; }
.int-rank-js-u002 { text-align:center;padding:20px; }
.int-rank-js-u003 { text-align:center;padding:20px;color:var(--rp-text-muted); }
.int-rank-js-u004 { font-weight:600;color:var(--rp-text); }
.int-rank-js-u005 { color:var(--rp-text-muted); }
.int-rank-js-u006 { white-space:nowrap; }
.int-rank-js-u007 { text-align:center;padding:20px;color:#e53935; }
}

/* 원고 형태소 분석 */
@scope (.blog-page--blog-morpheme) {
:scope {
  --page-blog-analyze-blog-morpheme-shadow-001: 0 0 20px rgba(222,37,115,0.3);
--page-blog-analyze-blog-morpheme-color-005: #f093fb;
  --page-blog-analyze-blog-morpheme-color-006: #4b6cb7;
--page-blog-analyze-blog-morpheme-blue-012: #a5b4fc;
--page-blog-analyze-blog-morpheme-blue-014: #00f2fe;
  --page-blog-analyze-blog-morpheme-radius-015: 10px 10px 0 0;
  --page-blog-analyze-blog-morpheme-radius-016: 50%;
  --page-blog-analyze-blog-morpheme-radius-017: 99px;
}

/* blog/analyze/blog-morpheme/index 전용 스타일 */


/* ── 탭 UI ─────────────────────────────────────────────── */
.mp-tabs { display:flex; gap:0; margin-bottom:-1px; margin-top:18px; position:relative; z-index:1; }
.mp-tab {
    display:flex; align-items:center; justify-content:center; gap:7px;
    flex:1; padding:11px 12px; font-size:14px; font-weight:600;
    border-radius:var(--page-blog-analyze-blog-morpheme-radius-015); cursor:pointer; text-decoration:none;
    border:1px solid transparent; transition:all .18s;
    color:var(--rp-text-muted); background:transparent; text-align:center; word-break:keep-all; line-height:1.3;
}
.mp-tab + .mp-tab { margin-left:4px; }
.mp-tab:hover { color:var(--rp-text); background: var(--rp-surface-hover); }
.mp-tab.active { color:var(--rp-text); background: var(--rp-surface-alt); border-color:var(--rp-border); border-bottom-color:transparent; }
.mp-tab-icon { font-size:15px; line-height:1; flex-shrink:0; }
.mp-tab-panel { border-top:1px solid var(--rp-border); padding-top:1px; }
@media (max-width:480px) { .mp-tab { font-size:12px; padding:9px 6px; gap:5px; } .mp-tab-icon { font-size:13px; } }

/* ── panel-2 전용 스타일 ────────────────────────────────── */
#mp-panel-2 { color: var(--rp-text); }
#mp-panel-2 .mp-search-form { display: contents; }
#mp-panel-2 .search-group { flex: 1 1 100%; width: 100%; }
#mp-panel-2 .search-group textarea {
    width:100%; min-height:200px; padding:12px 15px; background: var(--rp-surface-alt);
    border:2px solid var(--rp-border); border-radius:var(--rp-radius);
    color: var(--rp-text-muted); font-size:1em; font-family:inherit; resize:vertical; transition:all 0.3s ease;
    box-sizing:border-box;
}
#mp-panel-2 .search-group textarea:focus { outline:none; border-color:var(--rp-primary); box-shadow:var(--page-blog-analyze-blog-morpheme-shadow-001); }
#mp-panel-2 .search-group textarea:focus,
#mp-panel-2 .search-group.valid-input textarea { padding-top: 23px; }
#mp-panel-2 .search-group textarea:focus + label,
#mp-panel-2 .search-group.valid-input textarea + label {
    opacity: 1;
    font-size: 0.8125rem;
    top: 8px;
    transform: translateY(0);
    color: var(--rp-text-muted);
}
#mp-panel-2 canvas { max-height:400px; }

/* 결과 카드 */
#mp-panel-2 .results { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; margin-bottom:30px; }
#mp-panel-2 .card { background: var(--rp-surface-alt); padding:25px; border-radius:var(--rp-radius-lg); backdrop-filter:blur(10px); border:1px solid var(--rp-border); transition:all 0.3s ease; }
#mp-panel-2 .card:hover { transform:translateY(-5px); box-shadow:var(--rp-shadow-sm); border-color:color-mix(in srgb, var(--rp-primary) 50%, transparent); }
#mp-panel-2 .card-title { font-size:1.3em; margin-bottom:15px; color:var(--rp-primary); font-weight:600; }
#mp-panel-2 .card-value { font-size:2.5em; font-weight:700; background:linear-gradient(135deg,var(--rp-primary),var(--rp-accent)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
#mp-panel-2 .card-subtitle { font-size:0.9em; color:var(--rp-text-muted); margin-top:8px; }

/* 점수 카드 */
#mp-panel-2 .score-card { background: var(--rp-surface-alt); padding:30px; border-radius:var(--rp-radius-lg); margin-bottom:20px; backdrop-filter:blur(10px); border:1px solid var(--rp-border); }
#mp-panel-2 .score-card.input-summary-card .score-item { display:flex; flex-direction:column; align-items:stretch; gap:6px; margin-bottom:14px; }
#mp-panel-2 .score-card.input-summary-card .score-item:last-child { margin-bottom:0; }
#mp-panel-2 .score-card.input-summary-card .score-label { font-weight:600; font-size:13px; }
#mp-panel-2 .score-card.input-summary-card .input-display { padding:12px 14px; background: var(--rp-surface-alt); border-radius:var(--rp-radius-sm); border:1px solid var(--rp-border); white-space:pre-wrap; word-break:break-word; line-height:1.6; }
#mp-panel-2 .score-card.input-summary-card .input-title { font-weight:600; font-size:15px; }
#mp-panel-2 .score-card.input-summary-card .input-text { font-size:13px; max-height:200px; overflow-y:auto; }
#mp-panel-2 .score-header { font-size:1.8em; margin-bottom:20px; color:var(--rp-primary); font-weight:700; }
#mp-panel-2 .score-item { display:flex; justify-content:space-between; align-items:center; padding:15px 0; border-bottom:1px solid var(--rp-border); }
#mp-panel-2 .score-item:last-child { border-bottom:none; }
#mp-panel-2 .score-label { font-size:1.1em; color:var(--rp-text-muted); }
#mp-panel-2 .score-value { font-size:1.3em; font-weight:700; color:var(--rp-primary); }
#mp-panel-2 .score-badge { display:inline-block; padding:5px 15px; border-radius:var(--rp-radius-lg); font-size:0.9em; font-weight:600; margin-left:10px; }
#mp-panel-2 .badge-perfect  { background:linear-gradient(135deg,var(--rp-success),var(--rp-success)); color: var(--rp-chrome-title); }
#mp-panel-2 .badge-good     { background:linear-gradient(135deg,var(--page-blog-analyze-blog-morpheme-color-005),var(--rp-danger)); color: var(--rp-chrome-title); }
#mp-panel-2 .badge-normal   { background:linear-gradient(135deg,var(--rp-warning),var(--rp-warning)); color: var(--rp-chrome-title); }
#mp-panel-2 .badge-low      { background:linear-gradient(135deg,var(--page-blog-analyze-blog-morpheme-color-006),var(--rp-chrome-elevated)); color: var(--rp-chrome-title); }
#mp-panel-2 .example-badge  { display:inline-block; padding:2px 8px; background:color-mix(in srgb, var(--rp-primary) 20%, transparent); color:var(--rp-primary); border-radius:var(--rp-radius-sm); font-size:0.75em; font-weight:700; vertical-align:middle; margin-left:6px; }

/* 워드 클라우드 */
#mp-panel-2 .wordcloud-container { background: var(--rp-surface-alt); padding:30px; border-radius:var(--rp-radius-lg); margin-bottom:20px; backdrop-filter:blur(10px); border:1px solid var(--rp-border); }
#mp-panel-2 .wordcloud-legend { display:flex; justify-content:center; gap:20px; margin:15px 0; flex-wrap:wrap; }
#mp-panel-2 .legend-item { display:flex; align-items:center; gap:8px; font-size:0.9em; color:var(--rp-text-muted); }
#mp-panel-2 .legend-color { width:20px; height:20px; border-radius:var(--rp-radius-sm); display:inline-block; }
#mp-panel-2 #wordcloud { width:100%; height:500px; background: var(--rp-surface-alt); border-radius:var(--rp-radius); margin-top:10px; }

/* 키워드 밀도 테이블 */
#mp-panel-2 .keyword-table { width:100%; border-collapse:collapse; margin-top:15px; }
#mp-panel-2 .keyword-table th, #mp-panel-2 .keyword-table td { padding:12px; text-align:left; border-bottom:1px solid var(--rp-border); color: var(--rp-text); }
#mp-panel-2 .keyword-table th { background:color-mix(in srgb, var(--rp-primary) 20%, transparent); color:var(--rp-primary); font-weight:600; }
#mp-panel-2 .keyword-table tr:hover { background: var(--rp-surface-alt); }
#mp-panel-2 .density-bar { height:8px; background: var(--rp-surface-alt); border-radius:var(--rp-radius-sm); overflow:hidden; margin-top:5px; }
#mp-panel-2 .density-fill { height:100%; background:linear-gradient(90deg,var(--rp-primary),var(--rp-accent)); border-radius:var(--rp-radius-sm); transition:width 0.5s ease; }

/* 차트 / 진단 */
#mp-panel-2 .chart-container { background: var(--rp-surface-alt); padding:30px; border-radius:var(--rp-radius-lg); margin-bottom:20px; backdrop-filter:blur(10px); border:1px solid var(--rp-border); }
#mp-panel-2 .diagnosis-section { background: var(--rp-surface-alt); padding:30px; border-radius:var(--rp-radius-lg); margin-bottom:30px; backdrop-filter:blur(10px); border:1px solid var(--rp-border); }
#mp-panel-2 .diagnosis-header { display:flex; align-items:center; gap:15px; margin-bottom:25px; padding-bottom:20px; border-bottom:2px solid var(--rp-border); }
#mp-panel-2 .diagnosis-icon { font-size:2em; }
#mp-panel-2 .diagnosis-header h2 { font-size:1.8em; color:var(--rp-primary); font-weight:700; margin:0; }
#mp-panel-2 .diagnosis-list { display:flex; flex-direction:column; gap:15px; }
#mp-panel-2 .diagnosis-item { display:flex; align-items:center; gap:15px; padding:18px 20px; border-radius:var(--rp-radius); font-size:1.05em; transition:all 0.3s ease; border-left:4px solid; }
#mp-panel-2 .diagnosis-item:hover { transform:translateX(5px); }
#mp-panel-2 .diagnosis-item-icon { font-size:1.5em; font-weight:bold; min-width:30px; text-align:center; }
#mp-panel-2 .diagnosis-item-text { flex:1; line-height:1.5; color: var(--rp-text); }
#mp-panel-2 .diagnosis-success { background:color-mix(in srgb, var(--rp-success) 10%, transparent); border-left-color:var(--rp-success); }
#mp-panel-2 .diagnosis-success .diagnosis-item-icon { color:var(--rp-success); }
#mp-panel-2 .diagnosis-warning { background:color-mix(in srgb, var(--rp-warning) 10%, transparent); border-left-color:var(--rp-warning); }
#mp-panel-2 .diagnosis-warning .diagnosis-item-icon { color:var(--rp-warning); }
#mp-panel-2 .diagnosis-error   { background:color-mix(in srgb, var(--rp-danger) 10%, transparent); border-left-color:var(--rp-danger); }
#mp-panel-2 .diagnosis-error .diagnosis-item-icon   { color:var(--rp-danger); }
#mp-panel-2 .diagnosis-info    { background:color-mix(in srgb, var(--rp-primary) 10%, transparent); border-left-color:var(--rp-primary); }
#mp-panel-2 .diagnosis-info .diagnosis-item-icon    { color:var(--rp-primary); }
@media (max-width:768px) {
    #mp-panel-2 .results { grid-template-columns:1fr; }
    #mp-panel-2 .diagnosis-item { padding:15px; font-size:0.95em; }
    #mp-panel-2 .diagnosis-header h2 { font-size:1.5em; }
}

/* ── panel-1 리포트 스타일 (.mp-report / .mp-block 등) ── */
.mp-report * { box-sizing:border-box; }
.mp-report { font-family:'Pretendard','Malgun Gothic',sans-serif; color:var(--rp-text); }
.mp-block { background: var(--rp-surface); border-radius:var(--rp-radius); padding:24px 26px; margin-bottom:14px; }
.mp-grid4 { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:10px; }
.mp-num-box { background: var(--rp-surface-alt); border-radius:var(--rp-radius); padding:18px 20px; }
.mp-num-lbl { font-size:11px; color:var(--rp-text-muted); font-weight:700; letter-spacing:.07em; text-transform:uppercase; margin-bottom:10px; }
.mp-num-val { font-size:28px; font-weight:800; color:var(--rp-text); line-height:1; }
.mp-num-sub { font-size:12px; color:var(--rp-text-muted); margin-top:6px; }
.mp-total-row { display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-bottom:1px solid var(--rp-border); }
.mp-total-row:last-child { border-bottom:none; padding-bottom:0; }
.mp-total-lbl { font-size:14px; color:var(--rp-text-muted); }
.mp-total-val { font-size:19px; font-weight:800; color:var(--rp-text); }
.mp-kd-wrap { border-radius:var(--rp-radius); background: var(--rp-surface-alt); }
.mp-kd-table { width:100%; border-collapse:collapse; }
.mp-kd-table thead { background: var(--rp-surface-alt); }
.mp-kd-table th { padding:11px 16px; color:var(--rp-text-muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; text-align:left; }
.mp-kd-table tbody tr:hover { background: var(--rp-surface-alt); }
.mp-chart-inner { background: var(--rp-surface-alt); border-radius:var(--rp-radius); padding:16px; }
.mp-wc-inner { background:color-mix(in srgb, var(--rp-chrome) 25%, transparent); border-radius:var(--rp-radius); padding:10px; }
.mp-wc-leg { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; }
.mp-wc-leg span { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--rp-text-muted); }
.mp-wc-dot { width:9px; height:9px; border-radius:var(--page-blog-analyze-blog-morpheme-radius-016); flex-shrink:0; }
.mp-2col { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; margin-bottom:14px; }
.mp-meta { font-size:12px; color:var(--rp-text-muted); margin-top:10px; }
@media (max-width:640px) {
    .mp-block { padding:18px 16px; }
    .mp-num-val { font-size:22px; }
    .mp-2col { grid-template-columns:1fr; }
    .mp-total-row { flex-wrap:wrap; gap:6px; }
    .mp-total-val { font-size:16px; }
    .mp-grid4 { grid-template-columns:repeat(2,1fr); }
    .mp-kd-table th, .mp-kd-table td { padding:9px 10px; font-size:12px; }
    .mp-chart-inner canvas { height:140px !important; }
}
@media (max-width:400px) {
    .mp-grid4 { grid-template-columns:1fr 1fr; }
    .mp-block { padding:14px 12px; border-radius:var(--rp-radius); }
}

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-blog-morpheme-u001 { text-align:center;padding:40px; }
.blog-analyze-blog-morpheme-u002 { color: var(--rp-text); }
.blog-analyze-blog-morpheme-u003 { margin-top:20px;color: var(--rp-text); }
.blog-analyze-blog-morpheme-u004 { background:color-mix(in srgb, var(--rp-danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--rp-danger) 30%, transparent);padding:20px 24px;border-radius:var(--rp-radius);color:var(--rp-danger);font-size:15px; }
.blog-analyze-blog-morpheme-u005 { padding:3px 11px;font-size:12px;font-weight:700;border-radius:var(--rp-radius-lg);white-space:nowrap;margin-left:8px; }
.blog-analyze-blog-morpheme-u006 { background:var(--blog-analyze-blog-morpheme-dynamic-background);color:var(--blog-analyze-blog-morpheme-dynamic-color); }
.blog-analyze-blog-morpheme-u007 { width:100%;height:6px;background: var(--rp-surface-alt);border-radius:var(--page-blog-analyze-blog-morpheme-radius-017);overflow:hidden;margin-top:8px; }
.blog-analyze-blog-morpheme-u008 { height:100%;border-radius:var(--page-blog-analyze-blog-morpheme-radius-017); }
.blog-analyze-blog-morpheme-u009 { background:var(--blog-analyze-blog-morpheme-dynamic-background); }
.blog-analyze-blog-morpheme-u010 { margin-bottom:16px; }
.blog-analyze-blog-morpheme-u011 { display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1px; }
.blog-analyze-blog-morpheme-u012 { font-size:13px;color:var(--rp-text-muted); }
.blog-analyze-blog-morpheme-u013 { font-size:17px;font-weight:700;color:var(--rp-text); }
.blog-analyze-blog-morpheme-u014 { font-size:12px;color:var(--rp-text-muted);margin-left:2px; }
.blog-analyze-blog-morpheme-u015 { display:flex;align-items:center;gap:10px;margin-bottom:20px; }
.blog-analyze-blog-morpheme-u016 { background: var(--rp-surface-alt);color:var(--rp-text-muted);font-size:13px;font-weight:700;padding:4px 10px;border-radius:var(--rp-radius-sm);letter-spacing:.04em; }
.blog-analyze-blog-morpheme-u017 { font-size:15px;font-weight:700;color:var(--rp-text); }
.blog-analyze-blog-morpheme-u018 { height:1px;background: var(--rp-surface-alt);margin:16px 0; }
.blog-analyze-blog-morpheme-u019 { display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:var(--rp-radius);margin-bottom:8px;line-height:1.55; }
.blog-analyze-blog-morpheme-u020 { font-size:15px;font-weight:800;flex-shrink:0;margin-top:1px; }
.blog-analyze-blog-morpheme-u021 { color:var(--blog-analyze-blog-morpheme-dynamic-color); }
.blog-analyze-blog-morpheme-u022 { font-size:14px;color:var(--rp-text); }
.blog-analyze-blog-morpheme-u023 { border-bottom:1px solid var(--rp-border); }
.blog-analyze-blog-morpheme-u024 { padding:12px 16px;color:var(--rp-text);font-weight:600;font-size:14px; }
.blog-analyze-blog-morpheme-u025 { padding:12px 16px;color:var(--rp-text-muted);font-size:14px;text-align:center; }
.blog-analyze-blog-morpheme-u026 { font-size:11px;margin-left:2px;color:var(--rp-text-muted); }
.blog-analyze-blog-morpheme-u027 { padding:12px 16px;color:var(--rp-text);font-size:13px;min-width:110px; }
.blog-analyze-blog-morpheme-u028 { display:flex;align-items:center;gap:8px; }
.blog-analyze-blog-morpheme-u029 { font-weight:600;color:var(--rp-text); }
.blog-analyze-blog-morpheme-u030 { flex:1;height:4px;background: var(--rp-surface-alt);border-radius:var(--page-blog-analyze-blog-morpheme-radius-017);overflow:hidden; }
.blog-analyze-blog-morpheme-u031 { height:100%;background:linear-gradient(90deg,var(--rp-accent),var(--rp-accent));border-radius:var(--page-blog-analyze-blog-morpheme-radius-017); }
.blog-analyze-blog-morpheme-u032 { padding:12px 16px; }
.blog-analyze-blog-morpheme-u033 { padding:3px 10px;font-size:12px;font-weight:700;border-radius:var(--rp-radius-lg); }
.blog-analyze-blog-morpheme-u034 { font-size:17px;font-weight:700;color:var(--rp-text);line-height:1.45;margin-bottom:12px; }
.blog-analyze-blog-morpheme-u035 { display:inline-flex;align-items:center;gap:7px;background:color-mix(in srgb, var(--rp-accent) 12%, transparent);color:var(--page-blog-analyze-blog-morpheme-blue-012);border-radius:var(--rp-radius-sm);padding:6px 12px;font-size:13px;word-break:break-all; }
.blog-analyze-blog-morpheme-u036 { font-size:14px;color:var(--rp-text-muted); }
.blog-analyze-blog-morpheme-u037 { font-size:15px;font-weight:500;color:var(--rp-text-muted); }
.blog-analyze-blog-morpheme-u038 { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px; }
.blog-analyze-blog-morpheme-u039 { font-size:13px;color:var(--rp-text-muted); }
.blog-analyze-blog-morpheme-u040 { font-size:24px;font-weight:800; }
.blog-analyze-blog-morpheme-u041 { font-size:14px;color:var(--rp-text-muted);margin-left:2px; }
.blog-analyze-blog-morpheme-u042 { margin-bottom:0; }
.blog-analyze-blog-morpheme-u043 { color:var(--rp-text-muted);font-size:12px; }
.blog-analyze-blog-morpheme-u044 { display:flex;justify-content:space-between;align-items:center; }
.blog-analyze-blog-morpheme-u045 { font-size:13px;font-weight:700;color:var(--rp-warning); }
.blog-analyze-blog-morpheme-u046 { font-size:20px;font-weight:800;color:var(--rp-text); }
.blog-analyze-blog-morpheme-u047 { font-size:13px;font-weight:700;color:var(--rp-accent); }
.blog-analyze-blog-morpheme-u048 { font-size:16px; }
.blog-analyze-blog-morpheme-u049 { margin-top:14px; }
.blog-analyze-blog-morpheme-u050 { background:var(--page-blog-analyze-blog-morpheme-blue-014); }
.blog-analyze-blog-morpheme-u051 { background:var(--rp-accent); }
.blog-analyze-blog-morpheme-u052 { background:var(--page-blog-analyze-blog-morpheme-color-005); }
.blog-analyze-blog-morpheme-u053 { background:var(--rp-accent); }
.blog-analyze-blog-morpheme-u054 { overflow-x:auto; }
.blog-analyze-blog-morpheme-u055 { min-width:420px; }
.blog-analyze-blog-morpheme-u056 { text-align:center; }
.blog-analyze-blog-morpheme-u057 { font-weight:600; }
}

/* 블로그 검색 */
@scope (.blog-page--blog-morpheme) {
:scope {
  --page-n-bsearch-color-001: #52b307;
  --page-n-bsearch-radius-002: 0;
  --page-n-bsearch-radius-003: 50%;
}

#resultContainer{
	border-radius: var(--page-n-bsearch-radius-002);
	box-shadow: none;
	padding: 0;
	background: none;
	margin-top: 40px;
}

.search-container {
    margin-top: 0;
}

.b_grade{
	display: inline-block;
	padding: 4px 6px;
	background: var(--page-n-bsearch-color-001);
	font-size: 14px;
	color: var(--rp-text);
	border-radius: var(--rp-radius-sm);
}

.result-box{
	display: block;
}

.top-box{
	display: flex;
	flex-direciton: row;
	flex-wrap: wrap;
	gap: 15px;
}

.top-left-box{
	width: 50%;
}

.top-right-box{
	width: calc( 50% - 15px );
}

.profile-box{
	height: 315px;
}

.profile-box > div{
	text-align: center;
}

.profile-box > div figure{
	display: block;
	margin: 0 auto;
	width: 150px;
	height: 150px;
	border-radius: var(--page-n-bsearch-radius-003);
	overflow: hidden;
}

.profile-box > div figure img{
	width: 100%; height: 100%;
	object-fit: cover;
}

.profile-box > div figure + div{
	margin-top: 15px;
}

.profile-box > div figure + div p{
	display: -webkit-box;
	word-wrap: break-word;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	overflow: hidden;
}

.info-box{
	margin-top: 15px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.info-box > div{
	width: calc((100% - 30px) / 3);
	text-align: center;
}

.info-box > div p{
	display: block;
	font-size: 0.9375rem;
	font-weight: var(--fw-500);
	color: var(--rp-text-muted);
}

.info-box > div strong{
	display: block;
	margin-top: 10px;
	font-size: 28px;
	font-weight: var(--fw-700);
}

.rate-box{
	height: 422px;
}


.latest-box{
	margin-top: 15px;
}


@media screen and (max-width: 1400px){
	.profile-box > div figure{
		width: 120px;
		height: 120px;
	}
}

@media screen and (max-width: 1200px){
	.result h4{
		font-size: 17px !important;
	}
	
	.profile-box{
		height: 290px;
	}
	
	.rate-box{
		height: 398px;
	}
}

@media screen and (max-width: 900px){
	.top-left-box,
	.top-right-box{
		width: 100%;
	}
}


@media screen and (max-width: 600px){
	.result h4{
		font-size: 15px !important;
	}
	.result-box h3{
		font-size: 20px !important;
	}
	.top-box{
		gap: 10px 7px;
	}
	
	.profile-box{
		height: auto;
	}
	
	.profile-box > div figure{
		width: 100px; height: 100px;
	}
	
	.profile-box > div figure + div p{
		font-size: 14px;
	}
	
	.info-box,
	.latest-box{
		margin-top: 10px;
	}
	
	.info-box{
		gap: 7px;
	}
	
	.info-box > div{
		width: calc((100% - 14px) / 3);
	}
	
	.info-box > div strong{
		font-size: 25px;
	}
	
	.rate-box{
		height: 280px;
	}
	
	.b_grade{
		font-size: 14px;
	}
}
}

/* 분석 도구 결과 */
@scope (.blog-page--blog-morpheme) {
:scope {
  --page-blog-analyze-tools-results-blue-001: #00f2fe;
  --page-blog-analyze-tools-results-color-002: #f093fb;
  --page-blog-analyze-tools-results-blue-003: #60a5fa;
}

/* blog/analyze/tools/results 전용 스타일 */

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-tools-results-u001 { background:var(--page-blog-analyze-tools-results-blue-001); }
.blog-analyze-tools-results-u002 { background:var(--rp-accent); }
.blog-analyze-tools-results-u003 { background:var(--page-blog-analyze-tools-results-color-002); }
.blog-analyze-tools-results-u004 { background:var(--rp-accent); }
.blog-analyze-tools-results-u005 { background:var(--page-blog-analyze-tools-results-blue-003); }
.blog-analyze-tools-results-u006 { width:var(--blog-analyze-tools-results-dynamic-width); }
.blog-analyze-tools-results-u007 { font-weight:600; }
.blog-analyze-tools-results-u008 { color:var(--blog-analyze-tools-results-dynamic-color); }
}

/* 모바일 분석 */
@scope (.blog-page--morphalyzer) {
:scope {
  --page-b-mp-color-001: #f093fb;
  --page-b-mp-color-002: #4b6cb7;
--page-b-mp-blue-005: #00f2fe;
  --page-b-mp-blue-006: #60a5fa;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: var(--rp-text);
}

.container {
    max-width: 1400px;
    margin: 0 auto;
}

header {
    text-align: center;
    padding: 40px 0;
    background: var(--rp-surface);
    border-radius: var(--rp-radius-lg);
    margin-bottom: 30px;
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    box-shadow: var(--rp-shadow-sm);
}

.subtitle {
    color: var(--rp-text-muted);
    font-size: 1.1em;
}

.input-section {
    background: var(--rp-surface);
    padding: 30px;
    border-radius: var(--rp-radius-lg);
    margin-bottom: 30px;
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    box-shadow: var(--rp-shadow-sm);
}

.form-group {
    margin-bottom: 20px;
}

label {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    color: var(--rp-text-muted);
    font-size: 1.1em;
}

input[type="text"] {
    width: 100%;
    padding: 12px 15px;
    background: var(--rp-surface-alt);
    border: 2px solid var(--rp-border);
    border-radius: var(--rp-radius);
    color: var(--rp-text);
    font-size: 1em;
    font-family: inherit;
    transition: all 0.3s ease;
}

input[type="text"]:focus {
    outline: none;
    border-color: var(--rp-primary);
    box-shadow: var(--rp-input-shadow);
}

textarea {
    width: 100%;
    min-height: 200px;
    padding: 15px;
    background: var(--rp-surface-alt);
    border: 2px solid var(--rp-border);
    border-radius: var(--rp-radius);
    color: var(--rp-text);
    font-size: 1em;
    font-family: inherit;
    resize: vertical;
    transition: all 0.3s ease;
}

textarea:focus {
    outline: none;
    border-color: var(--rp-primary);
    box-shadow: var(--rp-input-shadow);
}

.btn {
    background: linear-gradient(135deg, var(--rp-primary) 0%, var(--rp-accent) 100%);
    color: var(--rp-text);
    padding: 15px 40px;
    border: none;
    border-radius: var(--rp-radius);
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: var(--rp-shadow-sm);
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--rp-shadow);
}

.results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.card {
    background: var(--rp-surface);
    padding: 25px;
    border-radius: var(--rp-radius-lg);
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: var(--rp-shadow);
    border-color: var(--rp-primary);
}

.card-title {
    font-size: 1.3em;
    margin-bottom: 15px;
    color: var(--rp-primary);
    font-weight: 600;
}

.card-value {
    font-size: 2.5em;
    font-weight: 700;
    background: linear-gradient(135deg, var(--rp-primary) 0%, var(--rp-accent) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.card-subtitle {
    font-size: 0.9em;
    color: var(--rp-text-muted);
    margin-top: 8px;
}

.score-card {
    background: var(--rp-surface);
    padding: 30px;
    border-radius: var(--rp-radius-lg);
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    box-shadow: var(--rp-shadow-sm);
}

/* 분석 대상 (제목/본문) */
.score-card.input-summary-card .score-header {
    margin-bottom: 12px;
}
.score-card.input-summary-card .score-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    margin-bottom: 14px;
}
.score-card.input-summary-card .score-item:last-child {
    margin-bottom: 0;
}
.score-card.input-summary-card .score-label {
    font-weight: 600;
    font-size: 13px;
}
.score-card.input-summary-card .input-display {
    padding: 12px 14px;
    background: var(--rp-surface-alt);
    border-radius: var(--rp-radius-sm);
    border: 1px solid var(--rp-border);
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.6;
}
.score-card.input-summary-card .input-title {
    font-weight: 600;
    font-size: 15px;
}
.score-card.input-summary-card .input-text {
    font-size: 13px;
    max-height: 200px;
    overflow-y: auto;
}

.score-header {
    font-size: 1.8em;
    margin-bottom: 20px;
    color: var(--rp-primary);
    font-weight: 700;
}

.score-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid var(--rp-border);
}

.score-item:last-child {
    border-bottom: none;
}

.score-label {
    font-size: 1.1em;
    color: var(--rp-text-muted);
}

.score-note {
    margin-top: 15px;
    padding: 12px;
    background: var(--rp-primary-soft);
    border-radius: var(--rp-radius-sm);
    border-left: 3px solid var(--rp-primary);
}

.score-note small {
    color: var(--rp-text-muted);
    font-size: 0.9em;
    line-height: 1.5;
}

.score-value {
    font-size: 1.3em;
    font-weight: 700;
    color: var(--rp-primary);
}

.score-badge {
    display: inline-block;
    padding: 5px 15px;
    border-radius: var(--rp-radius-lg);
    font-size: 0.9em;
    font-weight: 600;
    margin-left: 10px;
}

.badge-perfect {
    background: linear-gradient(135deg, var(--rp-success) 0%, var(--rp-success) 100%);
    color: var(--rp-text);
}

.badge-excellent {
    background: linear-gradient(135deg, var(--rp-primary) 0%, var(--rp-accent) 100%);
    color: var(--rp-text);
}

.badge-good {
    background: linear-gradient(135deg, var(--page-b-mp-color-001) 0%, var(--rp-danger) 100%);
    color: var(--rp-text);
}

.badge-normal {
    background: linear-gradient(135deg, var(--rp-warning) 0%, var(--rp-warning) 100%);
    color: var(--rp-text);
}

.badge-low {
    background: linear-gradient(135deg, var(--page-b-mp-color-002) 0%, var(--rp-chrome-elevated) 100%);
    color: var(--rp-text);
}

.wordcloud-container {
    background: var(--rp-surface);
    padding: 30px;
    border-radius: var(--rp-radius-lg);
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    box-shadow: var(--rp-shadow-sm);
}

.wordcloud-legend {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 15px 0;
    flex-wrap: wrap;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9em;
    color: var(--rp-text-muted);
}

.legend-color {
    width: 20px;
    height: 20px;
    border-radius: var(--rp-radius-sm);
    display: inline-block;
}

#wordcloud {
    width: 100%;
    height: 500px;
    background: var(--rp-surface-alt);
    border-radius: var(--rp-radius);
    margin-top: 10px;
}

.keyword-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

.keyword-table th,
.keyword-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--rp-border);
}

.keyword-table th {
    background: var(--rp-primary-soft);
    color: var(--rp-primary);
    font-weight: 600;
}

.keyword-table tr:hover {
    background: var(--rp-surface-hover);
}

.density-bar {
    height: 8px;
    background: var(--rp-border);
    border-radius: var(--rp-radius-sm);
    overflow: hidden;
    margin-top: 5px;
}

.density-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--rp-primary) 0%, var(--rp-accent) 100%);
    border-radius: var(--rp-radius-sm);
    transition: width 0.5s ease;
}

.chart-container {
    background: var(--rp-surface);
    padding: 30px;
    border-radius: var(--rp-radius-lg);
    margin-bottom: 20px;
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    box-shadow: var(--rp-shadow-sm);
}

canvas {
    max-height: 400px;
}

.diagnosis-section {
    background: var(--rp-surface);
    padding: 30px;
    border-radius: var(--rp-radius-lg);
    margin-bottom: 30px;
    backdrop-filter: blur(10px);
    border: 1px solid var(--rp-border);
    box-shadow: var(--rp-shadow-sm);
}

.diagnosis-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--rp-border);
}

.diagnosis-icon {
    font-size: 2em;
}

.diagnosis-header h2 {
    font-size: 1.8em;
    color: var(--rp-primary);
    font-weight: 700;
    margin: 0;
}

.diagnosis-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.diagnosis-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 20px;
    border-radius: var(--rp-radius);
    font-size: 1.05em;
    transition: all 0.3s ease;
    border-left: 4px solid;
}

.diagnosis-item:hover {
    transform: translateX(5px);
}

.diagnosis-item-icon {
    font-size: 1.5em;
    font-weight: bold;
    min-width: 30px;
    text-align: center;
}

.diagnosis-item-text {
    flex: 1;
    line-height: 1.5;
}

.diagnosis-success {
    background: color-mix(in srgb, var(--rp-success) 10%, transparent);
    border-left-color: var(--rp-success);
    width: 100%;
}

.diagnosis-success .diagnosis-item-icon {
    color: var(--rp-success);
}

.diagnosis-warning {
    background: color-mix(in srgb, var(--rp-warning) 10%, transparent);
    border-left-color: var(--rp-warning);
}

.diagnosis-warning .diagnosis-item-icon {
    color: var(--rp-warning);
}

.diagnosis-error {
    background: color-mix(in srgb, var(--rp-danger) 10%, transparent);
    border-left-color: var(--rp-danger);
}

.diagnosis-error .diagnosis-item-icon {
    color: var(--rp-danger);
}

.diagnosis-info {
    background: color-mix(in srgb, var(--rp-primary) 10%, transparent);
    border-left-color: var(--rp-primary);
}

.diagnosis-info .diagnosis-item-icon {
    color: var(--rp-primary);
}

@media (max-width: 768px) {
    h1 {
        font-size: 1.8em;
    }

    .results {
        grid-template-columns: 1fr;
    }

    .diagnosis-item {
        padding: 15px;
        font-size: 0.95em;
    }

    .diagnosis-header h2 {
        font-size: 1.5em;
    }
}

.search-container {
    display: block;
}

/* assets/js/b_mp.js 템플릿에서 추출한 프레젠테이션 규칙 */
.bmp-js-u001 { font-weight:600; }
.bmp-js-u002 { color:var(--bmp-js-dynamic-color); }
.bmp-js-u003 { background:var(--page-b-mp-blue-005); }
.bmp-js-u004 { background:var(--rp-accent); }
.bmp-js-u005 { background:var(--page-b-mp-color-001); }
.bmp-js-u006 { background:var(--rp-accent); }
.bmp-js-u007 { background:var(--page-b-mp-blue-006); }
}

/* 분석 결과 공통 */
@scope (.blog-page--morphalyzer) {
:scope {
  --page-blog-analyze-tools-results-blue-001: #00f2fe;
  --page-blog-analyze-tools-results-color-002: #f093fb;
  --page-blog-analyze-tools-results-blue-003: #60a5fa;
}

/* blog/analyze/tools/results 전용 스타일 */

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-analyze-tools-results-u001 { background:var(--page-blog-analyze-tools-results-blue-001); }
.blog-analyze-tools-results-u002 { background:var(--rp-accent); }
.blog-analyze-tools-results-u003 { background:var(--page-blog-analyze-tools-results-color-002); }
.blog-analyze-tools-results-u004 { background:var(--rp-accent); }
.blog-analyze-tools-results-u005 { background:var(--page-blog-analyze-tools-results-blue-003); }
.blog-analyze-tools-results-u006 { width:var(--blog-analyze-tools-results-dynamic-width); }
.blog-analyze-tools-results-u007 { font-weight:600; }
.blog-analyze-tools-results-u008 { color:var(--blog-analyze-tools-results-dynamic-color); }
}

/* ==========================================================
   KEYWORD · page-scoped styles
   ========================================================== */

/* AI 브리핑 키워드 */
@scope (.blog-page--keyword-briefing) {
:scope {
  --page-blog-keyword-briefing-color-001: #007bff;
--page-blog-keyword-briefing-radius-008: 999px;
}

/* blog/keyword/briefing/index 전용 스타일 */
.search-keyword-container { background: var(--rp-surface); border-radius:var(--rp-radius-sm); padding:16px 20px; margin:12px 0; }
	.search-keyword-container h3 { margin:0 0 12px; color: var(--rp-text); font-size:18px; font-weight:600; }
	.search-keyword-form { display:flex; gap:10px; align-items:center; margin-bottom:15px; flex-wrap:wrap; }
	.search-input { padding:12px 16px; border:2px solid var(--rp-border-strong); border-radius:var(--rp-radius-sm); background: var(--rp-surface); color: var(--rp-text); font-size:14px; flex:1; min-width:200px; }
	.search-btn, .clear-search-btn { padding:12px 20px; border:none; border-radius:var(--rp-radius-sm); cursor:pointer; font-weight:600; }
	.search-btn { color: var(--rp-chrome-title); }
	.clear-search-btn { color: var(--rp-text); }
	.search-btn { background:var(--page-blog-keyword-briefing-color-001); }
	.clear-search-btn { background:var(--rp-surface-alt); }
	.search-info { padding:10px 15px; background: var(--rp-surface); border-radius:var(--rp-radius-sm); border-left:4px solid var(--page-blog-keyword-briefing-color-001); color:var(--rp-text); font-size:14px; }
	.update-notice { padding:10px 14px; margin:0 0 12px; background:color-mix(in srgb, var(--rp-warning) 12%, var(--rp-surface)); border:1px solid color-mix(in srgb, var(--rp-warning) 55%, var(--rp-border)); border-radius:var(--rp-radius-sm); color:var(--rp-text-muted); font-size:14px; line-height:1.5; }
	.category-container { background: var(--rp-surface); border-radius:var(--rp-radius-sm); padding:16px 20px; margin:12px 0; box-shadow:var(--rp-shadow-sm); }
	.place-input-notice-wrap { margin-bottom:12px; }
	.search-date.place-input-notice { flex:0 1 auto; width:auto; }
	.search-date { display:inline-flex; align-items:center; min-height:46px; padding:0 14px; border:1px solid var(--rp-border); border-radius:var(--rp-radius); background:var(--rp-surface-alt); }
	.search-date span { display:inline-flex; align-items:center; gap:7px; color:var(--rp-text-muted); font-size:13px; }
	.search-date i { color:var(--page-blog-keyword-briefing-color-001); }
	.search-date strong { color:var(--rp-text); font-weight:700; }
	.category-container h3 { margin:0 0 12px; color: var(--rp-text); font-size:18px; font-weight:600; }
	.category-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:10px; margin-bottom:12px; }
	.category-item { display:flex; align-items:center; padding:8px 12px; border:2px solid var(--rp-border-strong); border-radius:var(--rp-radius-sm); cursor:pointer; transition:all .3s ease; background: var(--rp-surface); }
	.category-item:hover { border-color:var(--page-blog-keyword-briefing-color-001); background: var(--rp-surface); }
	.category-item input[type="checkbox"] { margin-right:8px; transform:scale(1.2); }
	.category-item input[type="checkbox"]:checked + .category-label { color:var(--page-blog-keyword-briefing-color-001); font-weight:600; }
	.category-item:has(input[type="checkbox"]:checked) { border-color:var(--page-blog-keyword-briefing-color-001); background: var(--rp-surface); }
	.category-label { font-size:14px; color: var(--rp-text); user-select:none; }
	.category-actions { display:flex; gap:10px; justify-content:center; }
	.clear-btn { padding:10px 20px; border:none; border-radius:var(--rp-radius-sm); cursor:pointer; font-size:14px; font-weight:600; background:var(--rp-surface-alt); color: var(--rp-text); }
	.clear-btn:hover { background:var(--rp-text-muted); }
	.loading-message { color:var(--rp-text); font-size:14px; }
	.badge-yes { color:var(--rp-success); font-weight:600; }
	.badge-no { color:var(--rp-danger); font-weight:600; }
	#resultContainer { position:relative; }
	#resultContainer.sample-preview-active { min-height:420px; }
	#resultTable.sample-preview-locked { user-select:none; }
	#resultContainer.sample-preview-active #resultTable tbody tr {
		filter:blur(2.5px);
		opacity:.55;
		pointer-events:none;
	}
	#blurOverlay {
		position:absolute;
		left:0; right:0; bottom:0;
		min-height:240px;
		padding:32px 20px 0px;
		background:linear-gradient(to bottom, color-mix(in srgb, var(--rp-surface) 0%, transparent) 0%, color-mix(in srgb, var(--rp-surface) 72%, transparent) 38%, var(--rp-surface) 100%);
		display:flex;
		align-items:flex-end;
		justify-content:center;
		z-index:10;
		pointer-events:none;
		box-sizing:border-box;
	}
	#blurOverlay .preview-cta-box {
		background: var(--rp-surface);
		border:1px solid var(--rp-border-strong);
		color: var(--rp-text);
		padding:20px 22px;
		border-radius:var(--rp-radius);
		text-align:left;
		width:100%;
		max-width:480px;
		pointer-events:auto;
		box-shadow:var(--rp-shadow-sm);
	}
	#blurOverlay .preview-cta-badge {
		display:inline-flex;
		align-items:center;
		gap:6px;
		margin:0 0 10px;
		padding:4px 10px;
		border-radius:var(--page-blog-keyword-briefing-radius-008);
		background: var(--rp-surface);
		color:var(--rp-text-muted);
		font-size:11px;
		font-weight:600;
		letter-spacing:.02em;
	}
	#blurOverlay .preview-cta-box h3 {
		margin:0 0 6px;
		font-size:16px;
		font-weight:600;
		line-height:1.45;
		color: var(--rp-text);
	}
	#blurOverlay .preview-cta-box p {
		margin:0 0 16px;
		font-size:13px;
		line-height:1.55;
		color:var(--rp-text-muted);
	}
	#blurOverlay .preview-cta-btn {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:6px;
		background:var(--rp-primary);
		color: var(--rp-chrome-title);
		padding:10px 18px;
		border-radius:var(--rp-radius-sm);
		text-decoration:none;
		font-size:14px;
		font-weight:600;
		transition:background .15s ease;
	}
	#blurOverlay .preview-cta-btn:hover { background:var(--rp-primary); color: var(--rp-chrome-title); }
	@media (max-width:768px) {
		.category-grid { grid-template-columns:repeat(auto-fit, minmax(100px, 1fr)); }
		.category-item { padding:6px 10px; }
		.category-label { font-size:13px; }
	}

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-keyword-briefing-u001 { color: var(--rp-text); }
.blog-keyword-briefing-u002 { color: var(--rp-text);margin-left:20px; }
.blog-keyword-briefing-u003 { text-align:center;padding:20px;color:var(--rp-text-muted); }
.blog-keyword-briefing-u004 { background:var(--rp-warning);padding:2px 4px; }

.loading-message.is-muted { color: var(--rp-text-muted); }
.loading-message.is-error, #subscriptionStatus.is-error { color: var(--rp-danger); }
#subscriptionStatus.is-success { color: var(--rp-success); }
}

/* 키워드 트렌드 */
@scope (.blog-page--keyword-trend) {
:scope {
--page-blog-keyword-trend-color-002: #00c73c;
--page-blog-keyword-trend-radius-008: 50%;
}

/* blog/keyword/trend/index 전용 스타일 */
.search-container {
		margin: 30px 0;
	}
	
	.result-container {
		margin-top: 30px;
	}
	
	.chart-container {
		background: var(--rp-surface);
		border-radius: var(--rp-radius-sm);
		padding: 20px;
		margin-bottom: 20px;
	}
	
	.table-container {
		background: var(--rp-surface);
		border-radius: var(--rp-radius-sm);
		padding: 20px;
	}
	
	#resultContainer {
		overflow: visible;
	}
	
	#responseOutput {
		overflow: visible;
	}
	
	#responseText {
		overflow: visible;
	}

 
							.result-box * { margin:0; padding:0; box-sizing:border-box; }
							.result-box { font-family:'Malgun Gothic','맑은 고딕',sans-serif; overflow:visible !important; display: block;}
							.result-box .wrap { max-width:1100px; margin:0 auto; overflow:visible; }
							.result-box .page-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
							.result-box .page-title { font-size:22px; font-weight:bold; color:var(--rp-text); }
							.result-box .toggle-group { display:flex; border:1.5px solid var(--rp-border); border-radius:var(--rp-radius-lg); overflow:hidden; background:var(--rp-surface); }
							.result-box .toggle-btn { padding:7px 20px; border:none; background:transparent; cursor:pointer; font-size:13px; font-family:inherit; color:var(--rp-text-muted); transition:all .18s; border-radius:var(--rp-radius-lg); }
							.result-box .toggle-btn.active { background:var(--page-blog-keyword-trend-color-002); color: var(--rp-text); font-weight:bold; }
							.result-box .toggle-btn:disabled { opacity:.35; cursor:default; }
							.result-box .card { background:var(--rp-surface); border:1px solid var(--rp-border); border-radius:var(--rp-radius-sm); padding:22px 24px 20px; }
							.result-box .card-header { display:flex; align-items:center; gap:6px; margin-bottom:16px; }
							.result-box .card-title { font-size:15px; font-weight:bold; color:var(--rp-text); }
							.result-box .trend-example-notice { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border:1px solid color-mix(in srgb, var(--rp-success) 36%, var(--rp-border)); border-radius:var(--rp-radius-pill); background:var(--rp-success-soft); color:var(--rp-success); font-size:11px; font-weight:600; line-height:1.3; }
							.result-box .trend-example-notice i { font-size:10px; }
							.result-box .ico-info { width:16px; height:16px; border-radius:var(--page-blog-keyword-trend-radius-008); background:var(--rp-surface); color: var(--rp-text); font-size:10px; font-weight:bold; display:inline-flex; align-items:center; justify-content:center; cursor:default; }
							.result-box .chart-area { position:relative; height:520px; }
							.result-box table { width:100%; border-collapse:collapse; font-size:13px; }
							.result-box thead th { background:var(--rp-surface-alt); padding:10px 12px; text-align:center; border-bottom:2px solid var(--rp-border); color:var(--rp-text-muted); font-weight:bold; white-space:nowrap; }
							.result-box tbody tr:hover { background:var(--rp-surface-alt); }
							.result-box tbody td { padding:9px 12px; border-bottom:1px solid var(--rp-surface-alt); }
							.result-box .kw-cell { font-weight:500; color:var(--rp-text); min-width:110px; }
							.result-box .num { text-align:right; color:var(--rp-text); }
							.result-box .total { font-weight:bold; color:var(--rp-text); }
							.result-box .center { text-align:center; }
							.result-box .meta { margin-top:12px; font-size:11px; color:var(--rp-text-muted); text-align:right; }

/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-keyword-trend-u001 { text-align:center;padding:40px; }
.blog-keyword-trend-u002 { color: var(--rp-text); }
.blog-keyword-trend-u003 { margin-top:20px;color: var(--rp-text); }
.blog-keyword-trend-u004 { color: var(--rp-chrome-title);padding:2px 8px;border-radius:var(--rp-radius);font-size:11px;font-weight:bold; }
.blog-keyword-trend-u005 { background:var(--blog-keyword-trend-dynamic-background); }
.blog-keyword-trend-u006 { color:var(--rp-text-muted);font-size:11px;margin-left:4px; }
.blog-keyword-trend-u007 { margin-top:20px; }
.blog-keyword-trend-u008 { overflow-x:auto;max-width:100%; }
.blog-keyword-trend-u009 { width:100%;border-collapse:collapse;font-size:13px;table-layout:auto; }
.blog-keyword-trend-u010 { background:var(--rp-surface-alt);padding:10px 12px;text-align:center;border-bottom:2px solid var(--rp-border);color:var(--rp-text-muted);font-weight:bold;white-space:nowrap; }
.blog-keyword-trend-u011 { margin-top:20px;padding:30px;text-align:center;color:var(--rp-text-muted); }
.blog-keyword-trend-u012 { font-family:'Pretendard', 'Malgun Gothic', sans-serif;overflow:visible; }
}

/* N키워드 마스터 */
@scope (.blog-page--keyword-master) {
:scope {
  --page-blog-keyword-master-shadow-001: 0 0 0 3px rgba(116,143,252,.15);
  --page-blog-keyword-master-shadow-002: 0 1px 8px rgba(76,110,245,0.15), inset 0 1px 0 rgba(255,255,255,0.06);
  --page-blog-keyword-master-shadow-003: 0 2px 12px rgba(76,110,245,0.25), inset 0 1px 0 rgba(255,255,255,0.08);
  --page-blog-keyword-master-shadow-004: 0 1px 2px rgba(0,0,0,0.2);
  --page-blog-keyword-master-blue-005: #748ffc;
  --page-blog-keyword-master-color-006: rgba(76,110,245,.12);
--page-blog-keyword-master-color-010: rgba(76,110,245,0.05);
  --page-blog-keyword-master-color-011: #dbe4ff;
  --page-blog-keyword-master-color-012: rgba(76,110,245,0.16);
  --page-blog-keyword-master-color-013: rgba(116,143,252,0.32);
  --page-blog-keyword-master-color-014: rgba(199,210,254,0.55);
  --page-blog-keyword-master-color-015: #eef2ff;
  --page-blog-keyword-master-color-016: rgba(76,110,245,0.2);
  --page-blog-keyword-master-blue-017: #a5b4fc;
--page-blog-keyword-master-blue-019: #4c6ef5;
  --page-blog-keyword-master-color-025: rgba(76,110,245,.35);
  --page-blog-keyword-master-color-026: rgba(76,110,245,0.82);
  --page-blog-keyword-master-color-027: rgba(59,91,219,0.72);
  --page-blog-keyword-master-color-028: rgba(99,130,255,0.65);
  --page-blog-keyword-master-color-029: rgba(99,130,255,0.85);
  --page-blog-keyword-master-color-030: var(--rp-text-muted);
  --page-blog-keyword-master-color-031: var(--rp-text);
--page-blog-keyword-master-color-033: rgba(183,197,255,0.55);
--page-blog-keyword-master-color-035: rgba(116,143,252,.15);
  --page-blog-keyword-master-color-036: rgba(116,143,252,.35);
  --page-blog-keyword-master-radius-037: 8px 8px 0 0;
  --page-blog-keyword-master-radius-038: 50%;
  --page-blog-keyword-master-radius-039: 999px;
  --page-blog-keyword-master-radius-040: 22px;
}

/* blog/keyword/master/index 전용 스타일 */
/* ── textarea 입력 박스 ── */
	.kw-input-block {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	.kw-input-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 7px;
	}
	.kw-input-label {
		font-size: 13px;
		font-weight: 600;
		color: var(--rp-text);
		letter-spacing: .01em;
	}
	.kw-input-label span {
		font-size: 11px;
		font-weight: 400;
		color: var(--rp-text-muted);
		margin-left: 5px;
	}
	.hint-count {
		font-size: 12px;
		font-weight: 700;
		color: var(--page-blog-keyword-master-blue-005);
		background: var(--page-blog-keyword-master-color-006);
		border-radius: var(--rp-radius);
		padding: 2px 10px;
		transition: color .2s, background .2s;
	}
	.hint-count.over {
		color: var(--rp-danger);
		background: color-mix(in srgb, var(--rp-danger) 12%, transparent);
	}
	.kw-textarea {
		width: 100%;
		min-height: 130px;
		background: var(--rp-surface-alt);
		border: 1.5px solid var(--rp-border);
		border-radius: var(--rp-radius);
		padding: 13px 15px;
		color: var(--rp-text-muted); 
		font-size: 14px;
		font-family: inherit;
		line-height: 2;
		resize: vertical;
		outline: none;
		transition: border-color .2s, background .2s, box-shadow .2s;
	}
	.kw-textarea:focus {
		border-color: var(--page-blog-keyword-master-blue-005);
		background: var(--page-blog-keyword-master-color-010);
		box-shadow: var(--page-blog-keyword-master-shadow-001);
	}
	.kw-textarea:disabled {
		opacity: .45;
		cursor: not-allowed;
	}
	.kw-textarea::placeholder {
		color: var(--rp-text);
		font-size: 13px;
		line-height: 2;
	}

	/* ── 탭 + 검색 시간 ── */
	.kw-tabs-row {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		justify-content: space-between;
		gap: 10px 16px;
		border-bottom: 2px solid var(--rp-border);
		padding-bottom: 0;
		margin-bottom: 0;
	}
	.kw-tabs-inner {
		flex: 1;
		min-width: 0;
	}
	.kw-tabs {
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	.kw-search-time {
		font-size: 13px;
		font-weight: 700;
		color: var(--page-blog-keyword-master-color-011);
		white-space: nowrap;
		padding: 7px 14px;
		border-radius: var(--rp-radius);
		background: var(--page-blog-keyword-master-color-012);
		border: 1px solid var(--page-blog-keyword-master-color-013);
		font-variant-numeric: tabular-nums;
		letter-spacing: -0.02em;
		line-height: 1.35;
		flex-shrink: 0;
		align-self: center;
		margin-bottom: 3px;
		box-shadow: var(--rp-shadow-sm);
	}
	.kw-search-time .kw-time-label {
		font-size: 10px;
		font-weight: 700;
		color: var(--page-blog-keyword-master-color-014);
		display: block;
		margin-bottom: 4px;
		letter-spacing: 0.04em;
	}
	.kw-search-moment {
		font-size: 13px;
		font-weight: 800;
		font-variant-numeric: tabular-nums;
		letter-spacing: -0.02em;
		color: var(--page-blog-keyword-master-color-015);
		display: block;
		line-height: 1.3;
	}
	.kw-search-time--sample {
		background: var(--rp-surface-alt);
		border-color: var(--rp-border);
		color: var(--rp-text-muted);
	}
	.kw-search-time--sample .kw-time-label {
		color: var(--rp-text-muted);
	}
	.kw-search-time--sample .kw-search-moment {
		color: var(--rp-text-muted);
		font-weight: 700;
	}
	.kw-tab-btn {
		background: var(--rp-surface-alt);
		border: 1.5px solid var(--rp-border);
		border-bottom: none;
		border-radius: var(--page-blog-keyword-master-radius-037);
		color: var(--rp-text-muted);
		padding: 7px 18px;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		transition: background .15s, color .15s;
		position: relative;
		bottom: -2px;
	}
	.kw-tab-btn.active {
		background: var(--page-blog-keyword-master-color-016);
		border-color: var(--page-blog-keyword-master-blue-005);
		border-bottom-color: transparent;
		color: var(--page-blog-keyword-master-blue-017);
	}
	.kw-tab-btn .tab-spinner {
		display: inline-block;
		width: 10px; height: 10px;
		border: 2px solid var(--rp-border);
		border-top-color: var(--page-blog-keyword-master-blue-017);
		border-radius: var(--page-blog-keyword-master-radius-038);
		animation: spin .7s linear infinite;
		margin-left: 5px;
		vertical-align: middle;
	}
	.kw-tab-btn .tab-done { margin-left: 5px; color: var(--rp-success); }
	.kw-tab-btn .tab-fail { margin-left: 5px; color: var(--rp-danger); }
	@keyframes spin { to { transform: rotate(360deg); } }

	.kw-tab-panel { display: none; }
	.kw-tab-panel.active { display: block; }

	/* ── 섹션 ── */
	.kw-section-title {
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 15px;
		font-weight: 700;
		color: var(--rp-text);
		margin-bottom: 14px;
	}
	.kw-section-title .badge {
		font-size: 11px;
		font-weight: 700;
		padding: 2px 10px;
		border-radius: var(--rp-radius);
		color: var(--rp-chrome-title);
		margin-left: auto;
	}
	.badge-auto     { background: var(--page-blog-keyword-master-blue-019); }
	.badge-together { background: var(--rp-warning); }
	.badge-blog     { background: var(--rp-primary); }
	.badge-trend    { background: var(--rp-accent); }
	.idx-blog       { background: var(--rp-primary); }
	.idx-trend      { background: var(--rp-accent); }
	.kw-trend-as-of {
		font-size: 11px;
		font-weight: 600;
		color: var(--rp-text-muted);
		margin-left: 6px;
		letter-spacing: -0.02em;
		white-space: nowrap;
	}

	.kw-tag-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}
	.kw-tag {
		background: var(--rp-surface-alt);
		border: 1.5px solid var(--rp-border);
		border-radius: var(--rp-radius-lg);
		padding: 5px 14px;
		font-size: 13px;
		color: var(--rp-text-muted);
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 6px;
		transition: background .15s, border-color .15s;
		user-select: none;
	}
	.kw-tag:hover   { background: var(--page-blog-keyword-master-color-025); border-color: var(--page-blog-keyword-master-blue-005); color: var(--rp-text); }
	.kw-tag .num    { font-size: 11px; color: var(--rp-text-muted); font-weight: 600; }
	.kw-tag .kw-main { flex: 1; min-width: 0; word-break: break-word; text-align: left; }
	/* 월간 검색량 뱃지 */
	.kw-vol-wrap {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		padding: 4px 11px 4px 9px;
		border-radius: var(--page-blog-keyword-master-radius-039);
		background: var(--rp-surface-alt);
		border: 1px solid var(--rp-border);
		margin-left: 6px;
		flex-shrink: 0;
		transition: border-color .15s, background .15s;
	}
	.kw-tag:hover .kw-vol-wrap {
		background: var(--rp-surface-hover);
		border-color: var(--rp-border-strong);
	}
	.kw-vol-label {
		font-size: 10px;
		font-weight: 800;
		letter-spacing: 0.12em;
		color: var(--page-blog-keyword-master-color-030);
		line-height: 1;
	}
	.kw-vol-num {
		font-size: 12px;
		font-weight: 800;
		font-variant-numeric: tabular-nums;
		letter-spacing: -0.03em;
		color: var(--page-blog-keyword-master-color-031);
		line-height: 1;
		text-shadow: var(--page-blog-keyword-master-shadow-004);
	}
	.kw-vol-wrap.kw-vol-na {
		background: var(--rp-surface-alt);
		border-color: var(--rp-border);
		box-shadow: none;
	}
	.kw-vol-wrap.kw-vol-na .kw-vol-label { color: var(--rp-text-muted); }
	.kw-vol-wrap.kw-vol-na .kw-vol-num {
		color: var(--rp-text-muted);
		font-weight: 700;
		text-shadow: none;
	}

	.kw-grid {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
		gap: 8px;
	}
	.kw-grid-item {
		background: var(--rp-surface-alt);
		border: 1.5px solid var(--rp-border);
		border-radius: var(--rp-radius-sm);
		padding: 8px 12px;
		font-size: 13px;
		color: var(--rp-text-muted);
		display: flex;
		align-items: center;
		gap: 8px;
		cursor: pointer;
		transition: background .15s, border-color .15s;
	}
	.kw-grid-item:hover { background: var(--rp-surface-alt); border-color: var(--rp-border); color: var(--rp-text); }
	.kw-grid-item .idx {
		min-width: 22px; height: 22px;
		border-radius: var(--page-blog-keyword-master-radius-038);
		display: flex; align-items: center; justify-content: center;
		font-size: 11px; font-weight: 700; color: var(--rp-chrome-title);
	}
	.idx-together { background: var(--rp-warning); }
	.kw-grid-item .kw-main { flex: 1; min-width: 0; word-break: break-word; }
	.kw-grid-item .kw-vol-wrap {
		margin-left: auto;
	}
	.kw-grid-item:hover .kw-vol-wrap {
		border-color: var(--page-blog-keyword-master-color-033);
	}

	.kw-empty {
		text-align: center;
		padding: 18px 0;
		color: var(--rp-text-muted);
		font-size: 13px;
	}

	.panel-loading {
		text-align: center;
		padding: 40px 0;
		color: var(--rp-text-muted);
		font-size: 14px;
	}
	.panel-error {
		text-align: center;
		padding: 30px 0;
		color: var(--rp-danger);
		font-size: 14px;
	}

	#copyToast {
		position: fixed;
		bottom: 30px;
		left: 50%;
		transform: translateX(-50%) translateY(16px);
		background: var(--rp-chrome);
		color: var(--rp-on-brand);
		padding: 9px 22px;
		border-radius: var(--page-blog-keyword-master-radius-040);
		font-size: 13px;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s, transform .3s;
		z-index: 9999;
	}
	#copyToast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

    .result-box { display: block; }





/* PHP/JS 템플릿에서 추출한 프레젠테이션 규칙 */
.blog-keyword-master-u001 { font-family:'Pretendard', 'Malgun Gothic', sans-serif; }
.blog-keyword-master-u002 { margin-bottom:25px;color: var(--rp-text);text-align:center;font-size:22px;font-weight:700; }
.blog-keyword-master-u003 { text-align:center;color:var(--rp-text-muted);font-size:14px; }
.blog-keyword-master-u004 { text-align:center;margin-bottom:16px; }
.blog-keyword-master-u005 { display:inline-block;background:var(--page-blog-keyword-master-color-035);border:1px solid var(--page-blog-keyword-master-color-036);color:var(--page-blog-keyword-master-blue-017);font-size:12px;font-weight:600;padding:4px 14px;border-radius:var(--rp-radius-lg);letter-spacing:.03em; }
.blog-keyword-master-u006 { margin-right:4px; }
.blog-keyword-master-u007 { font-family:'Pretendard','Malgun Gothic',sans-serif; }
.blog-keyword-master-u008 { padding-top:20px; }
.blog-keyword-master-u009 { margin-bottom:20px; }
.blog-keyword-master-u010 { color:var(--page-blog-keyword-master-blue-005); }
.blog-keyword-master-u011 { color:var(--rp-warning); }
.blog-keyword-master-u012 { color:var(--rp-primary); }
.blog-keyword-master-u013 { color:var(--rp-accent); }
}

/* 검색의도 분석 */
@scope (.blog-page--keyword-intent) {
:scope {
  --page-blog-keyword-intent-color-001: rgba(79,172,254,0.08);
  --page-blog-keyword-intent-blue-002: #4facfe;
  --page-blog-keyword-intent-blue-003: #a5b4fc;
  --page-blog-keyword-intent-color-004: #34d399;
--page-blog-keyword-intent-color-006: rgba(79,172,254,0.06);
  --page-blog-keyword-intent-color-007: rgba(6,182,212,0.15);
  --page-blog-keyword-intent-blue-008: #22d3ee;
  --page-blog-keyword-intent-color-009: rgba(6,182,212,0.4);
  --page-blog-keyword-intent-blue-010: #2563eb;
  --page-blog-keyword-intent-radius-011: 0 8px 8px 0;
  --page-blog-keyword-intent-radius-012: 99px;
  --page-blog-keyword-intent-radius-013: 50%;
}

/* blog/keyword/intent/index 전용 스타일 */

/* assets/js/kw_intent_script.js 템플릿에서 추출한 프레젠테이션 규칙 */
.kw-intent-js-u001 { text-align:center;padding:40px; }
.kw-intent-js-u002 { color: var(--rp-text); }
.kw-intent-js-u003 { margin-top:20px;color: var(--rp-text); }
.kw-intent-js-u004 { text-align:center;padding:40px;color:var(--rp-danger);font-size:14px; }
.kw-intent-js-u005 { color:var(--kw-intent-js-dynamic-color); }
.kw-intent-js-u006 { background:var(--kw-intent-js-dynamic-background); }
.kw-intent-js-u007 { color:var(--rp-text-muted); }
.kw-intent-js-u008 { font-size:10px;line-height:1.5;color:var(--rp-text-muted);text-align:center;padding:0 4px; }
.kw-intent-js-u009 { margin-bottom:28px; }
.kw-intent-js-u010 { list-style:none;padding:0;margin:0; }

/* assets/js/kw_intent_script.js 보고서 스타일 */
.kwr-report { font-family:'Pretendard','Noto Sans KR',-apple-system,sans-serif; color:var(--rp-text); line-height:1.6; max-width:100%; margin:0 auto;}
				.kwr-faq-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
				.kwr-faq-item { background: var(--rp-surface-alt); border:1px solid var(--rp-border); border-radius:var(--rp-radius-sm); padding:12px 14px; font-size:13px; color:var(--rp-text); line-height:1.55; }
				.kwr-summary-grid--4 { grid-template-columns:1fr 1fr 1fr 1fr; }
				.kwr-summary-grid--3 { grid-template-columns:1fr 1fr 1fr; }
				.kwr-keyword-block { background: var(--rp-surface); border-radius:var(--rp-radius); padding:28px; margin-bottom:28px; box-shadow:var(--rp-shadow-sm); border:1px solid var(--rp-border); }
				.kwr-keyword-header { display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--rp-border);flex-wrap:wrap; }
				.kwr-report-project { font-size:12px; letter-spacing:2px; color:var(--rp-text-muted); text-transform:uppercase; margin-bottom:6px; }
				.kwr-report-keyword { font-size:26px; font-weight:800; letter-spacing:-0.5px; }
				.kwr-report-meta { font-size:13px; color:var(--rp-text-muted); margin-top:8px; }
				.kwr-keyword-notice { flex:1; min-width:0; padding:12px 14px; background:linear-gradient(135deg,var(--page-blog-keyword-intent-color-001) 0%,color-mix(in srgb, var(--rp-accent) 6%, transparent) 100%); border-left:3px solid var(--page-blog-keyword-intent-blue-002); border-radius:var(--page-blog-keyword-intent-radius-011); font-size:12px; line-height:1.65; color:var(--rp-text-muted); display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
				.kwr-notice-text { line-height:2.0; }
				.kwr-source-badge { flex-shrink:0; background:color-mix(in srgb, var(--rp-accent) 25%, transparent); border:1px solid color-mix(in srgb, var(--rp-accent) 40%, transparent); color:var(--page-blog-keyword-intent-blue-003); font-size:11px; padding:4px 10px; border-radius:var(--rp-radius-lg); white-space:nowrap; }
				.kwr-keyword-notice strong { color:var(--page-blog-keyword-intent-blue-002); font-weight:700; }
				.kwr-keyword-notice em { font-style:normal; color:var(--rp-success); font-weight:600; }
				.kwr-summary-grid { display:grid; gap:14px; margin-bottom:24px; }
				@media(max-width:900px) {
					.kwr-summary-grid--4,.kwr-summary-grid--3 { grid-template-columns:1fr 1fr; }
					.kwr-keyword-header { flex-direction:column; align-items:stretch; }
				}
				@media(max-width:480px) {
					.kwr-summary-grid--4,.kwr-summary-grid--3 { grid-template-columns:1fr; }
					.kwr-keyword-block { padding:16px; }
				}
				.kwr-grade-card { background: var(--rp-surface); border-radius:var(--rp-radius); padding:20px; border:1px solid var(--rp-border); }
				.kwr-score-card { background: var(--rp-surface); border-radius:var(--rp-radius); padding:20px; display:flex; flex-direction:column; align-items:center; gap:8px; border:1px solid var(--rp-border); overflow:hidden; }
				.kwr-donut { width:80px; height:80px; }
				.kwr-score-card-label { font-size:16px; font-weight:700; color:var(--rp-text); text-align:center; }
				.kwr-grade-card--status { align-items:flex-start; padding:14px 16px; gap:0; }
				.kwr-score-card-sublabel { font-size:14px; font-weight:700; color:var(--rp-text-muted); margin-bottom:10px; letter-spacing:.5px; }
				.kwr-status-error { font-size:14px; color:var(--rp-danger); margin-top:2px; }
				.kwr-status-ok { font-size:14px; color:var(--page-blog-keyword-intent-color-004); margin-top:2px; }
				.kwr-bar-track { background: var(--rp-surface); border-radius:var(--page-blog-keyword-intent-radius-012); height:6px; overflow:hidden; }
				.kwr-bar-fill { height:100%; border-radius:var(--page-blog-keyword-intent-radius-012); }
				.kwr-area-status-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px dashed var(--rp-border); }
				.kwr-area-status-row:last-child { border-bottom:none; }
				.kwr-area-row-name { font-size:14px; font-weight:600; color:var(--rp-text); }
				.kwr-area-badge-on { font-size:12px; font-weight:700; background:color-mix(in srgb, var(--rp-success) 15%, transparent); color:var(--rp-success); padding:2px 8px; border-radius:var(--rp-radius-lg); border:1px solid color-mix(in srgb, var(--rp-success) 30%, transparent); white-space:nowrap; }
				.kwr-area-badge-off { font-size:12px; font-weight:600; background: var(--rp-surface-alt); color:var(--rp-text-muted); padding:2px 8px; border-radius:var(--rp-radius-lg); border:1px solid var(--rp-border); white-space:nowrap; }
				.kwr-area-badge-unknown { font-size:11px; font-weight:600; background:color-mix(in srgb, var(--rp-warning) 12%, transparent); color:var(--rp-warning); padding:2px 8px; border-radius:var(--rp-radius-lg); border:1px solid color-mix(in srgb, var(--rp-warning) 35%, transparent); white-space:nowrap; }
				.kwr-comp-card { background: var(--rp-surface); border-radius:var(--rp-radius); padding:16px; border:1px solid var(--rp-border); display:flex; flex-direction:column; gap:10px; }
				.kwr-comp-title { font-size:14px; font-weight:700; color:var(--rp-text-muted); margin-bottom:2px; }
				.kwr-metric-bar-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:3px; }
				.kwr-metric-bar-label { font-size:14px; color:var(--rp-text); }
				.kwr-metric-bar-value { font-size:16px; font-weight:800; }
				.kwr-metric-unit { font-size:10px; font-weight:400; }
				.kwr-metric-sublabel { font-size:11px; color:var(--rp-text-muted); margin:0 0 4px 0; }
				.kwr-section-card { background: var(--rp-surface); border:1px solid var(--rp-border); border-radius:var(--rp-radius); padding:20px; margin-bottom:16px; }
				.kwr-section-title { font-size:14px; font-weight:700; color:var(--rp-text); margin-bottom:14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
				.kwr-section-badge { font-size:10px; background:color-mix(in srgb, var(--rp-accent) 20%, transparent); color:var(--page-blog-keyword-intent-blue-003); padding:2px 8px; border-radius:var(--rp-radius-lg); font-weight:600; border:1px solid color-mix(in srgb, var(--rp-accent) 30%, transparent); }
				.kwr-intent-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
				.kwr-intent-table { width:100%; border-collapse:collapse; font-size:13px; border-bottom:1px solid var(--rp-border); }
				.kwr-intent-table th { background: var(--rp-surface-alt); color:var(--rp-text-muted); padding:8px 12px; font-size:11px; font-weight:700; text-align:left; border-bottom:1px solid var(--rp-border); }
				.kwr-intent-table td { padding:10px 12px; border-bottom:1px solid var(--rp-border); color:var(--rp-text); vertical-align:middle; }
				.kwr-intent-table tr:last-child td { border-bottom:none; }
				.kwr-intent-table tr:hover td { background:var(--page-blog-keyword-intent-color-006); }
				.kwr-intent-text { font-weight:500; color:var(--rp-text); }
				.kwr-center { text-align:center; }
				.kwr-intent-badge { display:inline-block; font-size:11px; font-weight:700; padding:2px 9px; border-radius:var(--rp-radius-lg); background: var(--rp-surface-alt); color:var(--rp-text-muted); border:1px solid var(--rp-border); }
				.kwr-intent-badge--block { background:var(--page-blog-keyword-intent-color-007); color:var(--page-blog-keyword-intent-blue-008); border-color:var(--page-blog-keyword-intent-color-009); }
				.kwr-intent-badge--global { background:color-mix(in srgb, var(--rp-accent) 15%, transparent); color:var(--rp-accent); border-color:color-mix(in srgb, var(--rp-accent) 35%, transparent); }
				.kwr-priority { display:inline-block; font-size:10px; font-weight:700; padding:2px 8px; border-radius:var(--rp-radius-sm); }
				.kwr-priority--must { background:var(--rp-danger); color: var(--rp-on-brand); }
				.kwr-priority--good { background:var(--page-blog-keyword-intent-blue-010); color: var(--rp-on-brand); }
				.kwr-priority--opt { background: var(--rp-surface-alt); color:var(--rp-text-muted); }
				.kwr-muted { color:var(--rp-text-muted); font-size:12px; }
				.kwr-keyword-tags { display:flex; flex-wrap:wrap; gap:8px; }
				.kwr-keyword-tag { background:color-mix(in srgb, var(--rp-accent) 15%, transparent); color:var(--page-blog-keyword-intent-blue-003); padding:5px 14px; border-radius:var(--page-blog-keyword-intent-radius-012); font-size:13px; font-weight:700; border:1px solid color-mix(in srgb, var(--rp-accent) 30%, transparent); }
				.kwr-strategy-block { margin-bottom:16px; }
				.kwr-strategy-label { font-size:12px; font-weight:700; color:var(--rp-text-muted); margin-bottom:8px; letter-spacing:.5px; text-transform:uppercase; }
				.kwr-struct-list { list-style:none; display:flex; flex-direction:column; gap:8px; padding:0; margin:0; }
				.kwr-struct-item { display:flex; align-items:center; gap:12px; background: var(--rp-surface-alt); border:1px solid var(--rp-border); border-radius:var(--rp-radius-sm); padding:10px 14px; font-size:13px; font-weight:500; color:var(--rp-text); }
				.kwr-struct-num { background:var(--rp-accent); color: var(--rp-on-brand); width:22px; height:22px; border-radius:var(--page-blog-keyword-intent-radius-013); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex-shrink:0; }
				.kwr-example-banner { background:color-mix(in srgb, var(--rp-warning) 10%, transparent); border:1px solid color-mix(in srgb, var(--rp-warning) 30%, transparent); color:var(--rp-warning); font-size:12px; font-weight:600; text-align:center; padding:12px 16px; border-radius:var(--rp-radius); margin-bottom:24px; }
				.kwr-report .guide-box { background: var(--rp-surface); border-radius:var(--rp-radius); padding:24px 28px; box-shadow:var(--rp-shadow-sm); border:1px solid var(--rp-border); margin-top:12px; }
				.kwr-report .guide-box h3 { font-size:15px; font-weight:700; margin-bottom:14px; color:var(--rp-text); }
				.kwr-report .guide-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin:0; padding:0; }
				.kwr-report .guide-list li { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--rp-text); padding:10px 12px; background: var(--rp-surface-alt); border-radius:var(--rp-radius-sm); border:1px solid var(--rp-border); }
				.kwr-report .guide-list li b { color:var(--rp-text); }
				.kwr-report .guide-num { background:var(--rp-accent); color: var(--rp-on-brand); border-radius:var(--page-blog-keyword-intent-radius-013); width:20px; height:20px; min-width:20px; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; }
}

.smart-tag { display: inline-block; font-size: .6rem; font-weight: 700; color: #fff; background: #ff9800; border-radius: 3px; padding: 0 3px; vertical-align: middle; line-height: 1.4; }