.library-grid{grid-template-columns:repeat(auto-fill,min(100%,var(--library-card-width,240px)));gap:18px;align-items:start;justify-content:start}
.library-toolbar{flex-wrap:wrap;gap:16px}.library-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.library-size-control{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px;color:var(--muted)}.library-size-control label{white-space:nowrap}.library-size-control input[type=range]{width:112px;min-width:80px;height:28px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--lime);cursor:ew-resize}.library-size-control output{min-width:36px;font-variant-numeric:tabular-nums;text-align:right}.library-size-control button{min-height:36px;padding:5px}
.job-card{border-radius:15px;overflow:visible;min-width:0;background:var(--panel)}
.job-card-status{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-bottom:6px}.job-card .job-title{-webkit-line-clamp:1}.job-card .job-prompt-wrap{margin:6px 0 10px}.job-card .job-prompt-summary{font-size:11px}.job-card .action-row{gap:8px}
.job-visual{position:relative;width:100%;height:auto;aspect-ratio:9/16;border-radius:15px 15px 0 0;overflow:hidden;background:#080b08}
.job-visual.playable{cursor:pointer}.job-visual video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.job-visual .hover-play-hint{position:absolute;left:14px;bottom:14px;color:#e6eedf;font-size:11px;background:#101810c9;border:1px solid #ffffff20;border-radius:20px;padding:5px 11px;pointer-events:none;transition:opacity .15s}
.job-visual:hover .hover-play-hint{opacity:.3}.job-card-body{padding:14px}.job-title{font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-source{font-size:11px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.job-progress{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:25px;color:#c6d8b4}.job-progress strong{font-size:14px}.job-progress small{font-size:11px;color:var(--muted)}
.job-prompt-wrap{position:relative;margin:12px 0 16px}.job-prompt-summary{width:100%;border:0;background:transparent;color:#b3bfab;padding:0;text-align:left;font-size:12px;line-height:1.8;cursor:help;overflow-wrap:anywhere}.job-prompt-summary small{display:block;color:#7f9271;font-size:10px;margin-top:4px}
.job-full-prompt{display:none;position:absolute;z-index:30;left:0;right:0;bottom:100%;margin-bottom:8px;padding:17px;background:#273021;border:1px solid #647b4d;border-radius:10px;box-shadow:0 10px 30px #0009;font-size:12px;line-height:1.9;max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#e5eddf}
.job-prompt-wrap:focus-within .job-full-prompt,.job-prompt-wrap.expanded .job-full-prompt{display:block}
@media(hover:hover){.job-prompt-wrap:hover .job-full-prompt{display:block}}
@media(hover:none){.job-visual .hover-play-hint{display:none}}
.job-card-body .preview-meta{font-size:11px;gap:6px 14px;margin-bottom:15px}.job-card-body .form-error{display:block;min-height:0;font-size:11px;-webkit-line-clamp:unset}.job-card .secondary{font-size:12px;padding:7px 11px}
@media(max-width:540px){.library-grid{gap:14px}.library-controls{width:100%;justify-content:flex-start;gap:10px}.library-size-control{width:100%}.library-size-control input[type=range]{flex:1}.library-controls .search-box{width:100%}.job-visual .hover-play-hint{font-size:10px;left:8px;right:8px;text-align:center;padding:5px 6px}.job-full-prompt{max-height:240px}}
