Files
media_crawler/frontend/src/style.css
renjue 82581d2949 Implement full media crawler workflow with Flask backend and Vue frontend.
Add TMDB search and media detail pages, HDHive resource ingestion flow, unified error handling, Docker single-container runtime, and project docs/config updates for local deployment.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-09 16:16:18 +08:00

201 lines
2.7 KiB
CSS

:root {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: #1b1f23;
background: #f6f8fa;
line-height: 1.5;
font-weight: 400;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-width: 320px;
}
#app {
max-width: 1080px;
margin: 0 auto;
padding: 20px;
}
.container {
display: flex;
flex-direction: column;
gap: 16px;
}
.card {
background: #fff;
border: 1px solid #d8dee4;
border-radius: 10px;
padding: 16px;
}
.desc {
color: #57606a;
margin-top: 0;
}
.tabs {
display: flex;
gap: 10px;
margin-top: 10px;
}
.tab {
text-decoration: none;
border: 1px solid #d0d7de;
border-radius: 8px;
color: #1f6feb;
padding: 6px 10px;
}
.tab.router-link-active {
background: #1f6feb;
color: #fff;
}
.form-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 12px;
margin-bottom: 12px;
}
label {
display: flex;
flex-direction: column;
gap: 6px;
font-size: 14px;
}
input,
select {
border: 1px solid #d0d7de;
border-radius: 8px;
padding: 8px 10px;
}
button {
border: 1px solid #1f6feb;
background: #1f6feb;
color: #fff;
border-radius: 8px;
padding: 8px 14px;
cursor: pointer;
}
button.small {
margin-bottom: 8px;
}
button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.task-list,
.log-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.task-list li {
border: 1px solid #d0d7de;
border-radius: 8px;
padding: 10px;
cursor: pointer;
}
.task-list li.active {
border-color: #1f6feb;
background: #f0f6ff;
}
.meta {
display: flex;
gap: 8px;
font-size: 12px;
color: #57606a;
}
pre {
background: #f6f8fa;
border-radius: 8px;
padding: 12px;
overflow: auto;
}
.error {
color: #cf222e;
}
.log-time {
color: #57606a;
margin-left: 8px;
font-size: 12px;
}
.poster-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 12px;
}
.poster-item img,
.no-poster {
width: 100%;
height: 210px;
border-radius: 8px;
border: 1px solid #d0d7de;
cursor: pointer;
object-fit: cover;
}
.no-poster {
display: flex;
justify-content: center;
align-items: center;
color: #57606a;
background: #f6f8fa;
}
.poster-title {
margin-top: 6px;
font-size: 13px;
}
.resource-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.resource-list li {
border: 1px solid #d0d7de;
border-radius: 8px;
padding: 10px;
}
@media (max-width: 900px) {
.grid {
grid-template-columns: 1fr;
}
}