3gghdf5 / keyword_analysis_report.css
ssboost's picture
Update keyword_analysis_report.css
cb5d4cc verified
/* ํ‚ค์›Œ๋“œ ๋ถ„์„ ๋ณด๊ณ ์„œ ์ „์šฉ CSS - ๋‹คํฌ๋ชจ๋“œ ์ ์šฉ */
/* CSS ๋ณ€์ˆ˜ ์ •์˜ (๋ผ์ดํŠธ๋ชจ๋“œ) */
:root {
--primary-color: #FB7F0D;
--text-color: #333;
--bg-color: #f8f9fa;
--card-bg: #ffffff;
--border-color: #ecf0f1;
--section-bg: #ffffff;
--insight-bg: #fff5e6;
--warning-bg: #fff3cd;
--warning-text: #856404;
--checklist-bg: #fff3cd;
--cross-sell-bg: #f8f9fa;
--cross-sell-border: #17a2b8;
--cross-sell-text: #0c5460;
--product-bg: white;
--trend-bg: #e3f2fd;
--trend-border: #2196f3;
--metric-bg: #f8f9fa;
--metric-border: #dee2e6;
--highlight-bg: #fff3cd;
}
/* ๋‹คํฌ๋ชจ๋“œ ์ƒ‰์ƒ ๋ณ€์ˆ˜ (์ž๋™ ๊ฐ์ง€) */
@media (prefers-color-scheme: dark) {
:root {
--text-color: #e5e5e5;
--bg-color: #1a1a1a;
--card-bg: #2d2d2d;
--border-color: #404040;
--section-bg: #2d2d2d;
--insight-bg: #3d2817;
--warning-bg: #3d3317;
--warning-text: #d4b75f;
--checklist-bg: #3d3317;
--cross-sell-bg: #1a1a1a;
--cross-sell-border: #17a2b8;
--cross-sell-text: #4dd0e1;
--product-bg: #2d2d2d;
--trend-bg: #1a2332;
--trend-border: #2196f3;
--metric-bg: #2d2d2d;
--metric-border: #404040;
--highlight-bg: #3d3317;
}
}
/* ์ˆ˜๋™ ๋‹คํฌ๋ชจ๋“œ ํด๋ž˜์Šค */
[data-theme="dark"],
.dark,
.gr-theme-dark {
--text-color: #e5e5e5;
--bg-color: #1a1a1a;
--card-bg: #2d2d2d;
--border-color: #404040;
--section-bg: #2d2d2d;
--insight-bg: #3d2817;
--warning-bg: #3d3317;
--warning-text: #d4b75f;
--checklist-bg: #3d3317;
--cross-sell-bg: #1a1a1a;
--cross-sell-border: #17a2b8;
--cross-sell-text: #4dd0e1;
--product-bg: #2d2d2d;
--trend-bg: #1a2332;
--trend-border: #2196f3;
--metric-bg: #2d2d2d;
--metric-border: #404040;
--highlight-bg: #3d3317;
}
.keyword-analysis-report {
font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
line-height: 1.6;
color: var(--text-color);
margin: 0;
padding: 0;
background-color: var(--bg-color);
transition: background-color 0.3s ease, color 0.3s ease;
}
.report-container {
max-width: 900px;
margin: 20px auto;
padding: 0;
background: transparent;
}
.report-title {
text-align: center;
font-size: 2.2em;
margin-bottom: 30px;
color: var(--text-color);
font-weight: 700;
border-bottom: 3px solid var(--primary-color);
padding-bottom: 15px;
}
/* ๊ฐ ๋ถ„์„ ํ•ญ๋ชฉ๋ณ„ ์„น์…˜ ๋ธ”๋ก */
.analysis-section-block {
background-color: var(--section-bg);
padding: 25px 30px;
margin-bottom: 25px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
border-left: 5px solid var(--primary-color);
color: var(--text-color);
transition: background-color 0.3s ease, color 0.3s ease;
}
.analysis-section-block:nth-child(1) { border-left-color: #3498db; }
.analysis-section-block:nth-child(2) { border-left-color: #e74c3c; }
.analysis-section-block:nth-child(3) { border-left-color: #f39c12; }
.analysis-section-block:nth-child(4) { border-left-color: #9b59b6; }
.analysis-section-block:nth-child(5) { border-left-color: #1abc9c; }
.analysis-section-block:nth-child(6) { border-left-color: #34495e; }
.analysis-section-block:nth-child(7) { border-left-color: #e67e22; }
.analysis-section-title {
margin: 0 0 20px 0;
color: var(--text-color);
font-size: 1.6em;
font-weight: 700;
display: flex;
align-items: center;
border-bottom: 2px solid var(--border-color);
padding-bottom: 10px;
}
.section-icon {
font-size: 1.3em;
margin-right: 12px;
vertical-align: middle;
}
/* ์•„์ด์ฝ˜ ์ƒ‰์ƒ */
.analysis-section-block:nth-child(1) .section-icon { color: #3498db; }
.analysis-section-block:nth-child(2) .section-icon { color: #e74c3c; }
.analysis-section-block:nth-child(3) .section-icon { color: #f39c12; }
.analysis-section-block:nth-child(4) .section-icon { color: #9b59b6; }
.analysis-section-block:nth-child(5) .section-icon { color: var(--primary-color); }
.analysis-section-block:nth-child(6) .section-icon { color: #34495e; }
.analysis-section-block:nth-child(7) .section-icon { color: #e67e22; }
.subsection-title {
color: var(--text-color);
margin: 20px 0 10px 0;
font-size: 1.1em;
font-weight: 600;
}
.key-insight {
background-color: var(--insight-bg);
padding: 15px 20px;
border-left: 5px solid var(--primary-color);
margin: 20px 0;
border-radius: 5px;
font-weight: 500;
color: var(--text-color);
transition: background-color 0.3s ease;
}
/* ํ…์ŠคํŠธ ์Šคํƒ€์ผ - ๊ธฐ๋ณธ์€ ์ผ๋ฐ˜, ์ค‘์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ณผ๋“œ */
.analysis-content {
color: var(--text-color);
font-weight: normal;
line-height: 1.7;
}
.analysis-content strong {
color: var(--text-color);
font-weight: 600;
}
.analysis-content p {
margin-bottom: 15px;
font-weight: normal;
color: var(--text-color);
}
.analysis-list {
list-style: none;
padding: 0;
margin-bottom: 20px;
}
.analysis-list li {
position: relative;
padding-left: 25px;
margin-bottom: 12px;
line-height: 1.8;
font-weight: normal;
color: var(--text-color);
}
.analysis-list li:before {
content: 'โ–ถ';
color: var(--primary-color);
position: absolute;
left: 0;
font-weight: bold;
font-size: 1.1em;
}
.concern-list {
list-style: none;
padding: 0;
margin-bottom: 20px;
}
.concern-list li {
position: relative;
padding-left: 25px;
margin-bottom: 12px;
line-height: 1.8;
font-weight: normal;
color: var(--text-color);
}
.concern-list li:before {
content: 'โš ๏ธ';
position: absolute;
left: 0;
font-size: 1.1em;
}
.solution-list {
list-style: none;
padding: 0;
margin-bottom: 20px;
}
.solution-list li {
position: relative;
padding-left: 25px;
margin-bottom: 12px;
line-height: 1.8;
font-weight: normal;
color: var(--text-color);
}
.solution-list li:before {
content: 'โœ…';
position: absolute;
left: 0;
font-size: 1.1em;
}
.checklist {
background-color: var(--checklist-bg);
padding: 20px;
border-radius: 8px;
border-left: 5px solid #ffc107;
margin: 20px 0;
transition: background-color 0.3s ease;
}
.checklist-title {
font-weight: 700;
color: var(--warning-text);
margin-bottom: 15px;
font-size: 1.2em;
}
.checklist-items {
list-style: none;
padding: 0;
}
.checklist-items li {
position: relative;
padding-left: 25px;
margin-bottom: 10px;
line-height: 1.6;
font-weight: normal;
color: var(--warning-text);
}
.checklist-items li:before {
content: '๐Ÿ“‹';
position: absolute;
left: 0;
font-size: 1.1em;
}
.cross-sell-section {
background-color: var(--cross-sell-bg);
padding: 20px;
border-radius: 8px;
border-left: 5px solid var(--cross-sell-border);
margin: 20px 0;
transition: background-color 0.3s ease;
}
.cross-sell-title {
font-weight: 700;
color: var(--cross-sell-text);
margin-bottom: 15px;
font-size: 1.2em;
}
.product-suggestion {
background-color: var(--product-bg);
padding: 15px;
border-radius: 6px;
margin-bottom: 15px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
transition: background-color 0.3s ease;
}
.product-name {
font-weight: 600;
color: var(--text-color);
margin-bottom: 8px;
font-size: 1.1em;
}
.product-reason {
color: var(--text-color);
font-size: 0.95em;
line-height: 1.5;
font-weight: normal;
opacity: 0.8;
}
.final-recommendation {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 12px;
color: white;
padding: 25px;
}
.final-recommendation h3 {
color: white;
font-size: 1.8em;
margin-bottom: 20px;
font-weight: 700;
}
.recommendation-content {
font-size: 1.1em;
line-height: 1.7;
text-align: left;
font-weight: normal;
color: white;
}
.recommendation-content strong {
font-weight: 600;
color: white;
}
.trend-insight {
background-color: var(--trend-bg);
padding: 15px 20px;
border-left: 5px solid var(--trend-border);
margin: 20px 0;
border-radius: 5px;
color: var(--text-color);
transition: background-color 0.3s ease;
}
.market-metrics {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 20px 0;
}
.metric-card {
background-color: var(--metric-bg);
padding: 20px;
border-radius: 8px;
text-align: center;
border: 1px solid var(--metric-border);
transition: background-color 0.3s ease, border-color 0.3s ease;
}
.metric-value {
font-size: 2em;
font-weight: 700;
color: var(--primary-color);
margin-bottom: 5px;
}
.metric-label {
color: var(--text-color);
font-size: 0.9em;
font-weight: normal;
opacity: 0.8;
}
.highlight-text {
background-color: var(--highlight-bg);
padding: 2px 6px;
border-radius: 3px;
font-weight: 600;
color: var(--warning-text);
transition: background-color 0.3s ease, color 0.3s ease;
}
/* ๋‹คํฌ๋ชจ๋“œ์—์„œ ๊ทธ๋ผ๋ฐ์ด์…˜ ๋ฐฐ๊ฒฝ ์กฐ์ • */
@media (prefers-color-scheme: dark) {
.final-recommendation {
background: linear-gradient(135deg, #4a5568 0%, #553c9a 100%);
}
}
[data-theme="dark"] .final-recommendation,
.dark .final-recommendation,
.gr-theme-dark .final-recommendation {
background: linear-gradient(135deg, #4a5568 0%, #553c9a 100%);
}
/* ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ */
* {
transition: background-color 0.3s ease,
color 0.3s ease,
border-color 0.3s ease;
}