:root{
  --bg:#0f0d17; --card:#1a1626; --border:#2d2640; --text:#f5f3ff;
  --muted:#9a8fb5; --purple:#a855f7; --green:#22c55e; --red:#ef4444;
  --yellow:#fbbf24;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Tahoma,sans-serif;
  background:var(--bg); color:var(--text); min-height:100vh;
}
/* Tifinagh font — Akatab then Noto fallback with ligatures disabled */
.tif, [dir="rtl"] .tif, .tifinagh{
  font-family:'Akatab','Noto Sans Tifinagh',sans-serif;
  font-feature-settings:"calt" 0, "rlig" 0;
}

a{color:var(--purple)}

.topbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 22px; background:#0b0913; border-bottom:1px solid var(--border);
  position:sticky; top:0; z-index:10;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.05rem}
.brand .tif{color:var(--purple); font-size:1.6rem; line-height:1}

.langs{display:flex; gap:6px}
.lang-btn{
  background:#221b34; color:var(--text); border:1px solid var(--border);
  width:38px; height:34px; border-radius:8px; cursor:pointer; font-weight:700;
  font-size:.85rem; transition:all .15s;
}
.lang-btn:hover{border-color:var(--purple)}
.lang-btn.active{background:var(--purple); border-color:var(--purple); color:#fff}

main{padding:22px; max-width:1100px; margin:0 auto}

.grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px; margin-bottom:20px;
}
.card{
  background:var(--card); border:1px solid var(--border); border-radius:14px;
  padding:16px; margin-bottom:16px;
}
.stat{display:flex; flex-direction:column; gap:6px}
.stat .label{font-size:.85rem; color:var(--muted)}
.stat .value{font-size:2rem; font-weight:700; color:var(--text)}
.stat[data-key="queued"] .value{color:var(--yellow)}
.stat[data-key="inflight"] .value{color:var(--purple)}
.stat[data-key="done"] .value{color:var(--green)}

.row-head{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:12px;
}
.row-head h2{margin:0; font-size:1.05rem}
.btn{
  background:var(--purple); color:#fff; border:none; padding:8px 14px;
  border-radius:8px; cursor:pointer; font-weight:600; font-size:.85rem;
  font-family:inherit; transition:opacity .15s;
}
.btn:active{opacity:.7}

#tasks{display:flex; flex-direction:column; gap:8px}
.task{
  background:#0b0913; border:1px solid var(--border); border-radius:10px;
  padding:12px; display:flex; flex-direction:column; gap:6px;
}
.task-head{
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  font-size:.85rem;
}
.task-id{font-family:ui-monospace,Menlo,monospace; color:var(--purple); font-size:.8rem}
.badge{
  padding:3px 8px; border-radius:20px; font-size:.7rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px;
}
.badge.queued{background:rgba(251,191,36,.15); color:var(--yellow)}
.badge.inflight{background:rgba(168,85,247,.18); color:var(--purple)}
.badge.done{background:rgba(34,197,94,.18); color:var(--green)}
.badge.error{background:rgba(239,68,68,.18); color:var(--red)}
.task-prompt{font-size:.85rem; color:var(--muted); white-space:pre-wrap; max-height:80px; overflow:auto}
.task-reply{
  font-size:.9rem; white-space:pre-wrap; line-height:1.7;
  background:rgba(34,197,94,.05); border-right:2px solid var(--green);
  padding:8px 10px; border-radius:6px; margin-top:4px;
  max-height:300px; overflow:auto;
}
.task-reply.tifinagh{font-family:'Akatab','Noto Sans Tifinagh',sans-serif; font-feature-settings:"calt" 0, "rlig" 0;}
.task-meta{font-size:.72rem; color:var(--muted); opacity:.7}
.empty{text-align:center; color:var(--muted); padding:30px 10px; font-style:italic}
