:root{--bg:#15171c;--panel:#1f2229;--line:#2e323b;--fg:#e6e6e6;--muted:#9aa0ab;--acc:#d4a13a;--err:#e06c6c;--ok:#6cc08b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,Segoe UI,sans-serif}
a{color:var(--acc)}header{display:flex;gap:1.2rem;align-items:center;padding:.7rem 1rem;background:var(--panel);border-bottom:1px solid var(--line)}
header .brand{font-weight:700;letter-spacing:.03em}header nav a{margin-right:.9rem;text-decoration:none}header .spacer{flex:1}
header form{margin:0}main{max-width:1100px;margin:0 auto;padding:1rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem;margin-bottom:1rem}
h1,h2{margin:.2rem 0 .8rem;font-size:1.25rem}h2{font-size:1.05rem;color:var(--muted)}
label{display:block;margin:.6rem 0 .25rem;color:var(--muted);font-size:.9rem}
input[type=text],input[type=password],select,textarea{width:100%;padding:.55rem;background:#121419;color:var(--fg);border:1px solid var(--line);border-radius:6px;font:inherit}
textarea{min-height:6rem;resize:vertical}
button,.btn{background:var(--acc);color:#1a1a1a;border:0;border-radius:6px;padding:.55rem 1rem;font:inherit;font-weight:600;cursor:pointer}
button.sec{background:#2e323b;color:var(--fg)}button.danger{background:var(--err);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}
.small{font-size:.85rem;color:var(--muted)}.err{color:var(--err);border:1px solid var(--err);padding:.6rem;border-radius:6px;margin:.6rem 0}
.ok{color:var(--ok)}.row{display:flex;gap:1rem;flex-wrap:wrap}.row>*{flex:1 1 220px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.thumb{position:relative;background:#121419;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.thumb img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.thumb .meta{padding:.35rem .45rem;font-size:.78rem;color:var(--muted);display:flex;justify-content:space-between;gap:.3rem;align-items:center}
.thumb.sel{outline:2px solid var(--acc)}.thumb label{position:absolute;inset:0;margin:0;cursor:pointer}
.thumb input{position:absolute;top:.4rem;left:.4rem;transform:scale(1.3)}
.canon{position:absolute;top:.35rem;right:.4rem;background:var(--acc);color:#1a1a1a;font-size:.7rem;padding:.1rem .35rem;border-radius:4px;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600}.status-running{color:var(--acc)}.status-done{color:var(--ok)}.status-failed{color:var(--err)}
.formats{display:flex;gap:.5rem;flex-wrap:wrap}.formats label{flex:1;margin:0;border:1px solid var(--line);border-radius:6px;padding:.5rem;text-align:center;cursor:pointer;color:var(--fg)}
.formats input[type=radio]{display:none}.formats input:checked+span{color:var(--acc);font-weight:700}
.queuebox{border-left:4px solid var(--acc);padding:.6rem .9rem;background:#1a1d24;border-radius:6px}
.pw{font-family:ui-monospace,Consolas,monospace;font-size:1.1rem;background:#121419;padding:.4rem .6rem;border-radius:6px;display:inline-block}
@media (max-width:600px){header{flex-wrap:wrap}main{padding:.6rem}}

.hint{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:50%;background:#2e323b;color:var(--acc);font-size:.75rem;font-weight:700;cursor:help;margin-left:.3rem;vertical-align:middle;position:relative}
.hint:hover,.hint:focus{background:var(--acc);color:#1a1a1a;outline:none}
.hint:hover::after,.hint:focus::after{content:attr(data-tip);position:absolute;left:0;top:1.5rem;z-index:10;width:min(22rem,80vw);background:#0f1115;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:.6rem .7rem;font-size:.85rem;font-weight:400;line-height:1.4;text-align:left;box-shadow:0 6px 20px rgba(0,0,0,.5);white-space:normal}
