.ac { width: 1200px; margin: 0 auto; text-align: left; font-size: 20px; line-height: 1.25; }
.ac .kbar { display: flex; gap: 6px; align-items: center; margin-bottom: 6px; }
.ac .kbar button { font-size: 16px; padding: 2px 10px; border: 1px solid #bbb; background: #fafafa; border-radius: 4px; cursor: pointer; }
.ac .kcount { font-size: 14px; color: #888; margin-left: 8px; }
.ac .awords { margin-left: auto; font-size: 16px; color: #555; display: flex; gap: 14px; }
.aw { font-family: "DejaVu Sans Mono", Menlo, monospace; font-weight: bold; background: #eef; padding: 0 3px; border-radius: 3px; }

.atext { position: relative; font-family: "DejaVu Sans Mono", Menlo, monospace; font-size: 22px; margin: 2px 0 6px; }
.arow { display: flex; }
.ach { width: calc(var(--cw) - 2px); margin-right: 2px; height: 1.6em; display: flex; align-items: center; justify-content: center; background: #eceff1; font-weight: bold; border-radius: 3px; position: relative; }
.ach .aidx { position: absolute; top: -12px; font-size: 10px; color: #aaa; font-weight: normal; }
.ach.afut { color: #b0b0b0; font-weight: normal; background: #f5f5f5; }
.ach.acursor { background: #ffd54f; }
.alane { position: relative; height: 20px; margin-top: 3px; }
.abar { position: absolute; top: 0; height: 18px; border-radius: 3px; color: #fff; font: bold 12px sans-serif; display: flex; align-items: center; justify-content: center; opacity: .8; overflow: hidden; }
.abar.afresh { opacity: 1; box-shadow: 0 0 0 2px #222; }

.amid { margin: 4px 0 6px; }
.atrie { display: block; margin: 0 auto; }
.atrie .anode { fill: #fff; stroke: #777; stroke-width: 1.5; }
.atrie .aterm { fill: none; stroke: #777; stroke-width: 1.5; }
.atrie .anode.acur { fill: #2a76dd; stroke: #2a76dd; }
.atrie .anode.avisit { stroke: #e53935; stroke-width: 3; }
.atrie .anode.achain { stroke: #8e24aa; stroke-width: 3; }
.atrie .anode.arep { fill: #f3e5f5; }
.atrie .anode.acur.arep { fill: #2a76dd; }
.atrie .anode.atarget { stroke: #fb8c00; stroke-width: 3; stroke-dasharray: 4 3; }
.atrie .anode.ai { fill: #fff3c4; stroke: #f9a825; stroke-width: 3; }
.atrie .anode.aqueued { fill: #e3f2fd; }
.atrie .anlab { font: 15px "DejaVu Sans Mono", Menlo, monospace; text-anchor: middle; fill: #222; }
.atrie .anlab.acurt { fill: #fff; font-weight: bold; }
.atrie .awi { font: 11px sans-serif; fill: #888; }
.atrie .aflab { font: bold 15px "DejaVu Sans Mono", Menlo, monospace; text-anchor: middle; fill: #555; }
.atrie .afwd { stroke: #444; stroke-width: 1.6; }
.atrie .aback { stroke: #9e9e9e; stroke-width: 1.2; fill: none; }
.atrie .aback.ato0 { stroke: #cfcfcf; stroke-dasharray: 3 3; }
.atrie .asc { stroke: #8e24aa; stroke-width: 1.4; fill: none; stroke-dasharray: 2 4; opacity: .8; }
.atrie .asc.asc-on { stroke-width: 3.5; opacity: 1; stroke-dasharray: 5 4; }
.atrie .ahl-g { stroke: #43a047 !important; stroke-width: 4 !important; stroke-dasharray: none !important; }
.atrie .ahl-r { stroke: #e53935 !important; stroke-width: 3.5 !important; stroke-dasharray: none !important; }
.atrie .ahl-o { stroke: #fb8c00 !important; stroke-width: 3.5 !important; stroke-dasharray: 6 4 !important; }

.atable { border-collapse: collapse; font-size: 14px; margin: 2px 0; }
.atable th { text-align: right; color: #777; font-weight: normal; padding: 1px 6px; }
.atable td { border: 1px solid #ddd; text-align: center; padding: 1px 4px; min-width: 30px; font-family: "DejaVu Sans Mono", monospace; }
.atable td.aunk { color: #bbb; background: #f2f2f2; }
.atable td.awrite { background: #ffcc80; font-weight: bold; }
.atable td.acol { background: #fff3c4; }
.aqueue { font-size: 15px; color: #555; margin: 3px 0; }
