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) ; | |
| } |