body {
  font-family: 'Open Sans', system-ui, sans-serif;
    margin: 20px;
    background-color: #efefef;
  }
  


  h1 {
    text-align: center;
    margin-bottom: 20px;
  }


  .search-meta {
    margin-bottom: 10px;
    font-size: 14px;
    color: #555;
  }
  
  
  input#search {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
  }
  
  #stories-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  label {
    align-content: center;
  }
  

select, input[type="text"], button {
  font-size: 14px;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: white;
  appearance: none; /* better for select dropdowns */
}

select:focus, input[type="text"]:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

button {
  background-color: #007bff;
  color: white;
  border: none;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

button:hover {
  background-color: #0056b3;
}

button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

  #filters {


    position: sticky;
    top: 0;
    background: white; /* important so it doesn’t look transparent */
    z-index: 100; /* stay above other content */
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); /* soft bottom shadow */

    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    align-items: center;
  }
  
  #controls {
    display: flex;
    gap: 10px;
  }
  
  .story {
    display: flex;
    align-items: center;
    padding: 10px;
    background-color: #fff;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
  }
  
  .thumbnail {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    margin-right: 15px;
    overflow: hidden;
    border-radius: 4px;
    background-color: #e0e0e0;
  }
  
  .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .details {
    flex-grow: 1;
  }
  
  .meta {
    margin-bottom: 5px;
  }
  
  .meta .date {
    color: #888;
    font-size: 14px;
    margin-right: 10px;
  }
  
  .meta .author {
    color: #888;
    font-size: 14px;
  }
  
  .headline {
    font-size: 18px;
    margin: 5px 0;
  }
  
  .snippet {
    font-size: 14px;
    color: #555;
    margin: 5px 0;
  }
  
  .link-container {
    display: flex;
    align-items: center;
    margin-top: 10px;
  }
  
  .link-container .url {
    font-size: 12px;
    color: #0066cc;
    margin-right: 10px;
    text-decoration: none;
    word-break: break-all;
  }
  
  .link-container .url:hover {
    text-decoration: underline;
  }
  
  .copy-btn {
    padding: 5px 10px;
    font-size: 12px;
    border: none;
    background-color: #0066cc;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
  }
  
  .copy-btn:hover {
    background-color: #0055aa;
  }
  
  /* Copy success indicator */
  .copy-success {
    margin-left: 10px;
    opacity: 1;
    transition: opacity 1s ease;
    font-size: 12px;
    color: green;
  }
  
  .copy-success.fade-out {
    opacity: 0;
  }
  