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