:root { color-scheme: dark; --bg: #0f1115; --panel: #171a21; --panel-2: #1e222b; --border: #2a2f3a; --text: #e8eaf0; --muted: #8b93a7; --accent: #7aa2ff; --green: #2fbf71; --yellow: #d9a441; --red: #e05d5d; } * { box-sizing: border-box; } body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; } a { color: var(--accent); text-decoration: none; } a:hover { text-decoration: underline; } .topbar { display: flex; align-items: baseline; gap: 14px; padding: 16px 28px; border-bottom: 1px solid var(--border); background: #12151b; } .brand { font-weight: 700; font-size: 18px; color: var(--text); } .muted { color: var(--muted); font-size: 13px; } .nav { display: flex; gap: 16px; margin-left: 8px; } .nav a { color: var(--muted); font-size: 14px; } .nav a:hover { color: var(--text); } .page-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; } .search { display: flex; gap: 8px; } .search input { min-width: 220px; } .inline-form { display: inline-flex; gap: 6px; align-items: center; margin-top: 6px; } .inline-form button { padding: 4px 8px; font-size: 12px; } .credits-input { width: 80px; min-width: 0; padding: 4px 6px; } .users-table { min-width: 1050px; } .users-table td { vertical-align: top; } .page { max-width: 1280px; margin: 0 auto; padding: 24px 28px 48px; } .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 20px; } .card { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; } .card-value { font-size: 26px; font-weight: 700; } .card-label { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; } .filters { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 16px; margin-bottom: 18px; } .filters label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--muted); } input, select, button { font: inherit; color: var(--text); background: var(--panel-2); border: 1px solid var(--border); border-radius: 7px; padding: 8px 10px; } input { min-width: 220px; } button { cursor: pointer; background: #2f3b57; border-color: #3b4b70; } button:hover { background: #394865; } .filter-actions { display: flex; gap: 12px; align-items: center; } .reset { color: var(--muted); font-size: 13px; } .alert { margin-bottom: 16px; padding: 10px 14px; border: 1px solid #6a3d3d; background: #2a1c1c; border-radius: 8px; color: #ffb3b3; } .table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 10px; } table { width: 100%; border-collapse: collapse; min-width: 900px; } th, td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; } th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; background: #141821; } tbody tr:hover { background: #1a1e27; } tbody tr:last-child td { border-bottom: 0; } .mono { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 13px; } .nowrap { white-space: nowrap; } .prompt { max-width: 420px; color: #cfd5e3; } .empty { text-align: center; color: var(--muted); padding: 28px; } .details { white-space: nowrap; } .mark { display: inline-block; padding: 0 5px; border-radius: 4px; background: #26324a; color: #9db8e8; font-size: 10px; vertical-align: middle; } .enhanced { color: #b9c8ff; } .prompt-original { margin-top: 4px; color: var(--muted); font-size: 12px; } .thumb-cell { width: 78px; } .thumb { width: 64px; height: 64px; object-fit: cover; display: block; border-radius: 8px; border: 1px solid var(--border); background: var(--panel-2); } .badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; background: #2a2f3a; } .badge.done { background: #173a28; color: #7ee2a8; } .badge.failed { background: #3a1d1d; color: #ff9b9b; } .badge.running { background: #3a3219; color: #ffd479; } .badge.queued { background: #202a3a; color: #9db8e8; } .pagination { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 16px; color: var(--muted); font-size: 13px; } .back { display: inline-block; margin-bottom: 14px; color: var(--muted); } h1 { margin: 0 0 20px; font-size: 26px; } .meta { display: grid; grid-template-columns: 180px 1fr; gap: 10px 18px; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; padding: 18px; } .meta dt { color: var(--muted); } .meta dd { margin: 0; min-width: 0; } .prompt-block { white-space: pre-wrap; overflow-wrap: anywhere; } .error-text { color: #ff9b9b; white-space: pre-wrap; } .images { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 20px; } .images figure { margin: 0; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; } .images img { display: block; width: 100%; height: auto; } .images figcaption { padding: 8px 12px; color: var(--muted); font-size: 13px; } @media (max-width: 640px) { .page { padding: 18px 14px 36px; } .topbar { padding: 14px; } .meta { grid-template-columns: 1fr; } input { min-width: 0; width: 100%; } }