Spaces:
Running
Running
:root { | |
--primary-color: #FB7F0D; | |
--secondary-color: #ff9a8b; | |
--accent-color: #FF6B6B; | |
--background-color: #FFFFFF; | |
--card-bg: #ffffff; | |
--text-color: #334155; | |
--border-color: #dddddd; | |
--input-bg: #ffffff; | |
--table-even-bg: #f3f3f3; | |
--table-hover-bg: #f0f0f0; | |
--border-radius: 18px; | |
--shadow: 0 8px 30px rgba(251, 127, 13, 0.08); | |
} | |
/* λ€ν¬λͺ¨λ μμ λ³μ */ | |
[data-theme="dark"], .dark { | |
--background-color: #1a1a1a; | |
--card-bg: #2d2d2d; | |
--text-color: #e5e5e5; | |
--border-color: #404040; | |
--input-bg: #2d2d2d; | |
--table-even-bg: #333333; | |
--table-hover-bg: #404040; | |
--shadow: 0 8px 30px rgba(0, 0, 0, 0.3); | |
} | |
/* λ€ν¬λͺ¨λ μλ κ°μ§ */ | |
@media (prefers-color-scheme: dark) { | |
:root { | |
--background-color: #1a1a1a; | |
--card-bg: #2d2d2d; | |
--text-color: #e5e5e5; | |
--border-color: #404040; | |
--input-bg: #2d2d2d; | |
--table-even-bg: #333333; | |
--table-hover-bg: #404040; | |
--shadow: 0 8px 30px rgba(0, 0, 0, 0.3); | |
} | |
} | |
/* ββ μ μ μ€νμΌ ββ */ | |
body { | |
font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif; | |
background-color: var(--background-color) ; | |
color: var(--text-color) ; | |
line-height: 1.6; | |
margin: 0; | |
padding: 0; | |
} | |
/* Gradio 컨ν μ΄λ λ€ν¬λͺ¨λ λμ */ | |
.gradio-container, | |
.gradio-container *, | |
.gr-app, | |
.gr-app * { | |
background-color: var(--background-color) ; | |
color: var(--text-color) ; | |
} | |
/* νΈν° μ¨κΉ μ€μ */ | |
footer { | |
visibility: hidden; | |
} | |
.gradio-container { | |
width: 100%; | |
margin: 0 auto; | |
padding: 20px; | |
background-color: var(--background-color) ; | |
} | |
/* ββ μΉμ μ€νμΌ ββ */ | |
.custom-section-group, | |
.gr-block.gr-group { | |
background-color: var(--background-color) ; | |
box-shadow: none ; | |
} | |
.custom-section-group::before, | |
.custom-section-group::after, | |
.gr-block.gr-group::before, | |
.gr-block.gr-group::after { | |
display: none ; | |
content: none ; | |
} | |
/* μΉμ νλ μ */ | |
.custom-frame { | |
background-color: var(--card-bg) ; | |
border: 1px solid var(--border-color) ; | |
border-radius: var(--border-radius); | |
padding: 20px; | |
margin: 10px 0; | |
box-shadow: var(--shadow); | |
color: var(--text-color) ; | |
} | |
/* μ μ μ μλ μΉμ */ | |
.collapsible-section { | |
margin-bottom: 10px; | |
} | |
.collapsible-header { | |
background-color: var(--primary-color) ; | |
color: white ; | |
padding: 10px 15px; | |
border-radius: var(--border-radius); | |
cursor: pointer; | |
display: flex; | |
justify-content: space-between; | |
align-items: center; | |
transition: background-color 0.3s; | |
} | |
.collapsible-header:hover { | |
background-color: var(--secondary-color) ; | |
} | |
.collapsible-content { | |
display: none; | |
padding: 15px; | |
background-color: var(--card-bg) ; | |
border: 1px solid var(--border-color) ; | |
border-radius: 0 0 var(--border-radius) var(--border-radius); | |
margin-top: -5px; | |
color: var(--text-color) ; | |
} | |
.collapsible-content.active { | |
display: block; | |
} | |
/* λ λ²νΌμ 곡ν΅μΌλ‘ μ μ©ν μ€νμΌ */ | |
.execution-button { | |
font-size: 18px ; | |
padding: 10px 20px ; | |
height: 45px ; | |
width: 100% ; | |
border-radius: 30px ; | |
margin: 0 ; | |
display: flex ; | |
align-items: center ; | |
justify-content: center ; | |
text-align: center ; | |
color: white ; | |
border: none ; | |
transition: transform 0.3s ease ; | |
} | |
/* κ° λ²νΌλ³ κ³ μ μμ */ | |
.primary-button { | |
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) ; | |
box-shadow: 0 4px 8px rgba(251, 127, 13, 0.25) ; | |
} | |
.secondary-button { | |
background: linear-gradient(135deg, #6c757d, #495057) ; | |
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25) ; | |
} | |
.execution-button:hover { | |
transform: translateY(-2px) ; | |
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25) ; | |
} | |
/* μ€ν λ²νΌ 컨ν μ΄λ */ | |
.execution-section { | |
margin-top: 20px; | |
padding: 15px; | |
background-color: var(--card-bg) ; | |
border-radius: 8px; | |
border: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
/* ββ μ»΄ν¬λνΈ μ€νμΌ ββ */ | |
/* λ²νΌ μ€νμΌ */ | |
.custom-button { | |
border-radius: 30px ; | |
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) ; | |
color: white ; | |
font-size: 18px ; | |
padding: 10px 20px ; | |
border: none; | |
box-shadow: 0 4px 8px rgba(251, 127, 13, 0.25); | |
transition: transform 0.3s ease; | |
} | |
.custom-button:hover { | |
transform: translateY(-2px); | |
box-shadow: 0 6px 12px rgba(251, 127, 13, 0.3); | |
} | |
/* μμ λ²νΌ */ | |
.custom-button-small { | |
border-radius: 20px ; | |
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) ; | |
color: white ; | |
font-size: 14px ; | |
padding: 8px 15px ; | |
border: none; | |
box-shadow: 0 2px 6px rgba(251, 127, 13, 0.25); | |
transition: transform 0.3s ease; | |
} | |
.custom-button-small:hover { | |
transform: translateY(-1px); | |
box-shadow: 0 4px 8px rgba(251, 127, 13, 0.3); | |
} | |
/* 리μ λ²νΌ */ | |
.reset-button { | |
border-radius: 30px ; | |
background: linear-gradient(135deg, #6c757d, #495057) ; | |
color: white ; | |
font-size: 16px ; | |
padding: 8px 16px ; | |
border: none; | |
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); | |
transition: transform 0.3s ease; | |
margin-top: 20px; | |
} | |
.reset-button:hover { | |
transform: translateY(-2px); | |
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); | |
} | |
/* μ λ ₯ νλ μ€νμΌ */ | |
.gr-input, | |
.gr-text-input, | |
.gr-sample-inputs, | |
input[type="text"], | |
textarea { | |
border-radius: var(--border-radius) ; | |
border: 1px solid var(--border-color) ; | |
padding: 12px ; | |
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05) ; | |
transition: all 0.3s ease ; | |
background-color: var(--input-bg) ; | |
color: var(--text-color) ; | |
} | |
.gr-input:focus, | |
.gr-text-input:focus, | |
input[type="text"]:focus, | |
textarea:focus { | |
border-color: var(--primary-color) ; | |
outline: none ; | |
box-shadow: 0 0 0 2px rgba(251, 127, 13, 0.2) ; | |
background-color: var(--input-bg) ; | |
color: var(--text-color) ; | |
} | |
/* 체ν¬λ°μ€μ λΌλμ€ λ²νΌ μ€νμΌ */ | |
input[type="checkbox"], | |
input[type="radio"] { | |
accent-color: var(--primary-color); | |
} | |
/* λλ‘λ€μ΄ μ€νμΌ */ | |
.gr-dropdown, | |
select { | |
border-radius: var(--border-radius) ; | |
border: 1px solid var(--border-color) ; | |
padding: 12px ; | |
transition: all 0.3s ease ; | |
background-color: var(--input-bg) ; | |
color: var(--text-color) ; | |
} | |
.gr-dropdown:focus, | |
select:focus { | |
border-color: var(--primary-color) ; | |
outline: none ; | |
box-shadow: 0 0 0 2px rgba(251, 127, 13, 0.2) ; | |
} | |
/* λΌλ²¨ μ€νμΌ */ | |
label, | |
.gr-label, | |
.gr-checkbox label, | |
.gr-radio label { | |
color: var(--text-color) ; | |
font-weight: 500; | |
} | |
/* ββ μΉμ μ λͺ© μ€νμΌ ββ */ | |
.section-title { | |
display: flex; | |
align-items: center; | |
font-size: 20px; | |
font-weight: 700; | |
color: var(--text-color) ; | |
margin-bottom: 10px; | |
padding-bottom: 5px; | |
border-bottom: 2px solid var(--primary-color); | |
font-family: 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif; | |
} | |
.section-title img, .section-title i { | |
margin-right: 10px; | |
font-size: 20px; | |
color: var(--primary-color); | |
} | |
/* μλΈ μΉμ μ λͺ© */ | |
.subsection-title { | |
font-size: 18px; | |
font-weight: 600; | |
color: var(--text-color) ; | |
margin: 15px 0 8px 0; | |
} | |
/* ββ ν μ΄λΈ μ€νμΌ ββ */ | |
.styled-table { | |
width: 100%; | |
border-collapse: collapse; | |
table-layout: fixed; | |
margin: 0; | |
padding: 0; | |
font-size: 14px; | |
background-color: var(--card-bg) ; | |
} | |
.styled-table th, | |
.styled-table td { | |
padding: 12px 15px; | |
text-align: left; | |
border-bottom: 1px solid var(--border-color) ; | |
overflow: hidden; | |
text-overflow: ellipsis; | |
color: var(--text-color) ; | |
} | |
.styled-table th { | |
background-color: var(--primary-color) ; | |
color: white ; | |
font-weight: bold; | |
position: sticky; | |
top: 0; | |
white-space: nowrap; | |
} | |
.styled-table tbody tr:nth-of-type(even) { | |
background-color: var(--table-even-bg) ; | |
} | |
.styled-table tbody tr:hover { | |
background-color: var(--table-hover-bg) ; | |
} | |
.styled-table tbody tr:last-of-type { | |
border-bottom: 2px solid var(--primary-color) ; | |
} | |
/* λ°μ΄ν° 컨ν μ΄λ */ | |
.data-container { | |
max-height: 600px; | |
overflow-y: auto; | |
border-radius: var(--border-radius); | |
border: 1px solid var(--border-color) ; | |
margin-top: 15px; | |
background-color: var(--card-bg) ; | |
} | |
/* λΉ ν μ΄λΈ μ€νμΌ */ | |
.empty-table { | |
width: 100%; | |
border-collapse: collapse; | |
font-size: 14px; | |
margin-top: 20px; | |
background-color: var(--card-bg) ; | |
} | |
.empty-table th { | |
background-color: var(--primary-color) ; | |
color: white ; | |
text-align: left; | |
padding: 12px; | |
border: 1px solid var(--border-color) ; | |
} | |
.empty-table td { | |
padding: 10px; | |
border: 1px solid var(--border-color) ; | |
text-align: center; | |
color: var(--text-color) ; | |
background-color: var(--card-bg) ; | |
} | |
/* μ€ν¬λ‘€λ° μ€νμΌ */ | |
::-webkit-scrollbar { | |
width: 8px; | |
height: 8px; | |
} | |
::-webkit-scrollbar-track { | |
background: var(--card-bg); | |
border-radius: 10px; | |
} | |
::-webkit-scrollbar-thumb { | |
background: var(--primary-color); | |
border-radius: 10px; | |
} | |
/* ββ λΆμ κ²°κ³Ό μ€νμΌ ββ */ | |
.analysis-result { | |
margin-top: 30px; | |
border: 1px solid var(--border-color) ; | |
border-radius: 5px; | |
padding: 15px; | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
} | |
.result-header { | |
font-weight: bold; | |
margin-bottom: 15px; | |
color: var(--primary-color) ; | |
font-size: 16px; | |
} | |
.summary-box { | |
background-color: var(--card-bg) ; | |
border-left: 4px solid var(--primary-color); | |
padding: 10px 15px; | |
margin-bottom: 20px; | |
font-size: 14px; | |
color: var(--text-color) ; | |
} | |
.summary-title { | |
font-weight: bold; | |
margin-bottom: 5px; | |
color: var(--text-color) ; | |
} | |
.recommendation-box { | |
background-color: var(--card-bg) ; | |
border-radius: 5px; | |
padding: 15px; | |
margin-bottom: 25px; | |
box-shadow: var(--shadow); | |
border: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
.recommendation-title { | |
font-weight: bold; | |
font-size: 16px; | |
color: var(--primary-color) ; | |
margin-bottom: 10px; | |
} | |
.recommendation-item { | |
padding: 6px 0; | |
border-bottom: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
.recommendation-item:last-child { | |
border-bottom: none; | |
} | |
/* ββ ν€μλ νκ·Έ μ€νμΌ ββ */ | |
.keyword-tag-container { | |
margin-top: 20px; | |
padding: 10px; | |
border: 1px solid var(--border-color) ; | |
border-radius: 5px; | |
background-color: var(--card-bg) ; | |
} | |
.keyword-tag { | |
display: inline-block; | |
background-color: var(--primary-color); | |
color: white; | |
padding: 5px 10px; | |
margin: 5px; | |
border-radius: 15px; | |
font-size: 12px; | |
} | |
.category-tag { | |
display: inline-block; | |
background-color: #2c7fb8; | |
color: white; | |
padding: 5px 10px; | |
margin: 5px; | |
border-radius: 15px; | |
font-size: 12px; | |
} | |
/* ββ λ‘λ© μΈλμΌμ΄ν° ββ */ | |
.loading-indicator { | |
display: flex; | |
align-items: center; | |
justify-content: center; | |
padding: 15px; | |
background-color: var(--card-bg) ; | |
border-radius: 5px; | |
margin: 10px 0; | |
border: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
.loading-spinner { | |
border: 4px solid rgba(0, 0, 0, 0.1); | |
width: 24px; | |
height: 24px; | |
border-radius: 50%; | |
border-left-color: var(--primary-color); | |
animation: spin 1s linear infinite; | |
margin-right: 10px; | |
} | |
@keyframes spin { | |
0% { transform: rotate(0deg); } | |
100% { transform: rotate(360deg); } | |
} | |
.progress-bar { | |
height: 10px; | |
background-color: var(--primary-color); | |
border-radius: 5px; | |
width: 0%; | |
animation: progressAnim 2s ease-in-out infinite; | |
} | |
@keyframes progressAnim { | |
0% { width: 10%; } | |
50% { width: 70%; } | |
100% { width: 10%; } | |
} | |
/* ββ λ μ΄μμ μ νΈλ¦¬ν° ββ */ | |
.hidden-section { | |
display: none; | |
} | |
/* μΉμ νμ/μ¨κΉ μ μ΄ */ | |
.section-visible { | |
display: block; | |
animation: fadeIn 0.5s ease-out; | |
} | |
/* μ λλ©μ΄μ ν¨κ³Ό */ | |
@keyframes fadeIn { | |
from { opacity: 0; transform: translateY(10px); } | |
to { opacity: 1; transform: translateY(0); } | |
} | |
.fade-in { | |
animation: fadeIn 0.5s ease-out; | |
} | |
/* export_utils.pyμ create_table_without_checkboxes ν¨μμμ μμ±νλ HTML ν μ΄λΈ μ€νμΌ μ¬μ μ */ | |
.table-container { | |
position: relative ; | |
width: 100% ; | |
margin: 0 ; | |
border-radius: 8px ; | |
overflow: hidden ; | |
box-shadow: var(--shadow) ; | |
background-color: var(--card-bg) ; | |
} | |
.header-wrap { | |
position: sticky ; | |
top: 0 ; | |
z-index: 10 ; | |
background-color: var(--primary-color) ; | |
} | |
.data-container { | |
max-height: 600px ; | |
overflow-y: auto ; | |
background-color: var(--card-bg) ; | |
} | |
/* export_utils.pyμμ μ μλ ν μ΄λΈ μ€νμΌ μ¬μ μ */ | |
.data-container .styled-table { | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
} | |
.data-container .styled-table th { | |
background-color: var(--primary-color) ; | |
color: white ; | |
border-bottom: 1px solid var(--border-color) ; | |
} | |
.data-container .styled-table td { | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
border-bottom: 1px solid var(--border-color) ; | |
} | |
.data-container .styled-table tbody tr:nth-of-type(even) { | |
background-color: var(--table-even-bg) ; | |
} | |
.data-container .styled-table tbody tr:hover { | |
background-color: var(--table-hover-bg) ; | |
} | |
.data-container .styled-table tbody tr:last-of-type { | |
border-bottom: 2px solid var(--primary-color) ; | |
} | |
/* ν΄ν μ€νμΌ λ€ν¬λͺ¨λ λμ */ | |
.truncated-text:hover::after { | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
border: 1px solid var(--border-color) ; | |
box-shadow: 0 2px 5px rgba(0,0,0,0.3) ; | |
} | |
/* ν€μλ νκ·Έ 컨ν μ΄λ λ€ν¬λͺ¨λ */ | |
.keyword-tag-container { | |
background-color: var(--card-bg) ; | |
border: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
/* λΆμ κ²°κ³Ό μ€νμΌ λ€ν¬λͺ¨λ */ | |
.analysis-result { | |
background-color: var(--card-bg) ; | |
border: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
.result-header { | |
color: var(--primary-color) ; | |
} | |
.match-item { | |
border-bottom: 1px solid var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
.match-keyword { | |
color: var(--primary-color) ; | |
} | |
/* λ°μν μ‘°μ */ | |
@media (max-width: 768px) { | |
.grid-container { | |
grid-template-columns: 1fr; | |
} | |
} | |
/* Gradio νΉμ μ»΄ν¬λνΈλ€ λ€ν¬λͺ¨λ κ°μ μ μ© */ | |
.gr-form, | |
.gr-box, | |
.gr-panel { | |
background-color: var(--card-bg) ; | |
border-color: var(--border-color) ; | |
color: var(--text-color) ; | |
} | |
/* μμ½λμΈ μ€νμΌ λ€ν¬λͺ¨λ λμ */ | |
details { | |
background-color: var(--card-bg) ; | |
border: 1px solid var(--border-color) ; | |
border-radius: var(--border-radius); | |
color: var(--text-color) ; | |
} | |
details summary { | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
padding: 10px; | |
border-radius: var(--border-radius); | |
} | |
/* λ€ν¬λͺ¨λμμ HTML ν μ΄λΈ μ€νμΌ κ°μ μ μ© */ | |
table { | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
} | |
table th { | |
background-color: var(--primary-color) ; | |
color: white ; | |
} | |
table td { | |
background-color: var(--card-bg) ; | |
color: var(--text-color) ; | |
border-color: var(--border-color) ; | |
} |