/* Custom styles to match Hugging Face branding */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Sans+Pro:wght@400;600;700&display=swap'); html, body, [class*="css"] { font-family: 'Source Sans Pro', 'Inter', sans-serif; font-size: 14px; } /* Primary buttons - HF Yellow */ .stButton > button { background-color: #FFD21E; color: #1A1A1A; border: none; font-weight: 600; padding: 0.5rem 1rem; border-radius: 0.375rem; transition: all 0.2s; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } .stButton > button:hover { background-color: #E6BD1B; color: #1A1A1A; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transform: translateY(-1px); } .stButton > button:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } /* Secondary buttons - HF Blue */ .secondary-button > button { background-color: #84ADFF; color: #1A1A1A; } .secondary-button > button:hover { background-color: #6B8FE3; } /* Danger buttons - HF Coral */ .danger-button > button { background-color: #FF9D96; color: #1A1A1A; } .danger-button > button:hover { background-color: #E58A84; } /* Card styling */ .hf-card { background-color: #FFFFFF; border-radius: 0.5rem; padding: 1rem; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); margin-bottom: 1rem; border: 1px solid #E5E7EB; transition: all 0.3s ease; } .hf-card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); border-color: #84ADFF; transform: translateY(-2px); } /* Links - HF Blue */ a { color: #84ADFF; text-decoration: none; transition: color 0.2s; } a:hover { color: #6B8FE3; text-decoration: underline; } /* Headers */ h1, h2, h3, h4, h5, h6 { font-family: 'Inter', sans-serif; font-weight: 600; color: #1A1A1A; margin-top: 0.5em; margin-bottom: 0.5em; } h1 { font-size: 2rem; border-bottom: 2px solid #FFD21E; padding-bottom: 0.3em; margin-bottom: 0.8em; display: inline-block; } h2 { font-size: 1.5rem; border-bottom: 1px solid #E5E7EB; padding-bottom: 0.2em; } /* Spacing */ .spacing-16 { margin: 16px 0; } /* Status indicators */ .status-success { color: #10B981; } .status-warning { color: #FFD21E; } .status-error { color: #FF9D96; } /* Sidebar styling */ .css-1lcbmhc .css-1adrfps { background-color: #F9FAFB; } section[data-testid="stSidebar"] { background-color: #F9FAFB; border-right: 1px solid #E5E7EB; } /* Custom progress bar */ .stProgress > div > div > div > div { background-color: #84ADFF; } /* Alert boxes */ .st-emotion-cache-16idsys p { font-size: 14px; } div[data-baseweb="tooltip"] { background-color: #1A1A1A; color: white; padding: 8px 12px; border-radius: 4px; font-size: 12px; max-width: 300px; z-index: 1000; } /* Adjust sidebar width */ section[data-testid="stSidebar"] { width: 18rem !important; } /* Model cards layout */ .model-card { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 8px; border: 1px solid #E5E7EB; background-color: white; transition: all 0.3s ease; position: relative; overflow: hidden; } .model-card:hover { border-color: #84ADFF; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); transform: translateY(-3px); } .model-card::after { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background-color: #FFD21E; opacity: 0; transition: opacity 0.3s ease; } .model-card:hover::after { opacity: 1; } .model-card-header { display: flex; justify-content: space-between; align-items: center; } .model-card-title { font-weight: 600; font-size: 1.1rem; color: #1A1A1A; } .model-card-description { color: #4B5563; font-size: 0.9rem; line-height: 1.4; } .model-card-footer { display: flex; justify-content: space-between; margin-top: 12px; align-items: center; } .model-card-tags { display: flex; gap: 8px; flex-wrap: wrap; } .model-tag { background-color: #F3F4F6; padding: 4px 8px; border-radius: 16px; font-size: 0.8rem; display: inline-flex; align-items: center; transition: background-color 0.2s; } .model-tag:hover { background-color: #E5E7EB; } /* Badge styles */ .badge { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 4px; font-size: 0.8rem; font-weight: 500; margin-right: 8px; transition: all 0.2s; } .github-badge { background-color: #24292e; color: white; } .hf-badge { background-color: #FFD21E; color: #1A1A1A; } .badge img { height: 14px; margin-right: 4px; } .badge:hover { opacity: 0.9; transform: translateY(-1px); } /* Tooltip container */ .tooltip { position: relative; display: inline-block; cursor: help; } .tooltip .tooltip-text { visibility: hidden; width: 200px; background-color: #1A1A1A; color: #fff; text-align: center; border-radius: 6px; padding: 5px; position: absolute; z-index: 1; bottom: 125%; left: 50%; margin-left: -100px; opacity: 0; transition: opacity 0.3s; font-size: 12px; } .tooltip:hover .tooltip-text { visibility: visible; opacity: 1; } /* Instructions box */ .instructions-box { background-color: #F9FAFB; border: 1px solid #E5E7EB; border-left: 4px solid #84ADFF; border-radius: 4px; padding: 12px 16px; margin-bottom: 16px; font-size: 0.9rem; } .instructions-box h4 { margin-top: 0; margin-bottom: 8px; color: #1A1A1A; } .instructions-box p { margin: 0 0 8px 0; color: #4B5563; } .instructions-box ul { margin: 0; padding-left: 20px; } /* Form inputs styling */ .stTextInput > div > div > input { border-radius: 4px; border: 1px solid #E5E7EB; padding: 8px 12px; transition: all 0.2s; } .stTextInput > div > div > input:focus { border-color: #84ADFF; box-shadow: 0 0 0 3px rgba(132, 173, 255, 0.2); } .stTextArea > div > div > textarea { border-radius: 4px; border: 1px solid #E5E7EB; padding: 8px 12px; transition: all 0.2s; } .stTextArea > div > div > textarea:focus { border-color: #84ADFF; box-shadow: 0 0 0 3px rgba(132, 173, 255, 0.2); } /* Animation for loading states */ @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; } } .loading { animation: pulse 1.5s infinite ease-in-out; }