:root{
  --bg: #0b0f14;
  --panel: rgba(10, 14, 20, .86);
  --border: rgba(255,255,255,.08);
  --text: rgba(255,255,255,.86);
  --muted: rgba(255,255,255,.62);

  --purple: #b48cff;
  --cyan: #5bd6ff;
  --green: #63f08f;
  --yellow: #ffd56a;
  --red: #ff5f56;
  --blue: #6aa8ff;
}

*{ box-sizing: border-box; }

body{
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: radial-gradient(1200px 600px at 20% 10%, rgba(120,80,255,.15), transparent 60%),
              radial-gradient(900px 500px at 80% 30%, rgba(80,200,255,.12), transparent 60%),
              var(--bg);
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.wrap{
  width: min(1100px, 92vw);
  padding: 24px 0;
  display: grid;
  gap: 14px;
  justify-items: center;
}

.terminal{
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--panel);
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.titlebar{
  height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid var(--border);
}

.dots{
  display: flex;
  gap: 8px;
  align-items: center;
}
.dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
}
.dot.red{ background: var(--red); }
.dot.yellow{ background: var(--yellow); }
.dot.green{ background: var(--green); }

.title{
  flex: 1;
  text-align: center;
  color: rgba(255,255,255,.75);
  letter-spacing: .4px;
  user-select: none;
}
.spacer{ width: 64px; }

.screen{
  height: min(70vh, 720px);
  padding: 14px 14px 8px;
  overflow: auto;
  line-height: 1.55;
  font-size: 14px;
}

.row{
  display: flex;
  gap: 10px;
  align-items: baseline;
  padding: 2px 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.time{
  min-width: 86px;
  color: rgba(90, 210, 255, .85);
  opacity: .9;
}

.badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 8px;
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.badge.system{ color: var(--purple); }
.badge.name{ color: var(--cyan); }
.badge.done{ color: var(--green); }
.badge.warn{ color: var(--yellow); }

.text{
  color: var(--text);
}
.muted{
  color: var(--muted);
}

.inputline{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 12px;
  border-top: 1px solid var(--border);
  background: rgba(255,255,255,.02);
}

.prompt{
  color: rgba(255,255,255,.75);
}

.cmd{
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: var(--text);
  font: inherit;
}

.back{
  color: rgba(255,255,255,.7);
  text-decoration: none;
  border: 1px solid var(--border);
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.03);
}
.back:hover{ background: rgba(255,255,255,.06); }